Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Focus soll wechseln nach klick auf Button
zurück: Parameterwert aus Abfrage in Formular oder Bericht anzeigen weiter: Abfrage Werte in ein Formular Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Tom72
Möchtegern


Verfasst am:
07. Jul 2007, 00:29
Rufname: Tom
Wohnort: Mexiko

Focus soll wechseln nach klick auf Button - Focus soll wechseln nach klick auf Button

Nach oben
       Version: Office XP (2002)

Hallo an alle

Mein Kumpel möchte seine Münzensammlung ein wenig verwalten und möchte sich nicht extra ein teures Programm kaufen wo es doch auch mit Office geht, speziell mit Access.

Ist auch kein großer Aufwand.

Ein Hauptformular mit Unterformular.

Auf dem Hauptformular ist ein Kombifeld für die Münzen, ein Objektfeld für Bilder und ein Button für den nächsten Datensatz.

Auf dem Unterformular ist auch ein Kombifeld Detail.

Es sind 3 Tabellen vorhanden. tblMuenzen, tblDetail und tblMuenzen_Detail.

Zwischen den 3 Tabellen habe ich eine m:n Beziehung erstellt.

Die beiden Kombifelder besitzen jeweils schon das Ereignis Not in List.

So nun zu meinem problem es geht eigentlich nur um den Button.

Folgender Ablauf:
Sagen wir mal ich habe im Kombifeld vom HF etwas eingetragen und springe dann mit der Tab-Taste ins UF und trage da was ins Kombifeld ein.
Ich möchte nun einen neuen Datensatz anlegen und klicke auf den Button und Access springt auch auf den nächsten Datensatz nur der Focus bleibt im Kombifeld vom UF. Ich möchte aber den Focus auf dem Kombifeld vom HF haben.

Das ist der Code:
Code:
Private Sub Befehl7_Click()
On Error GoTo Err_Befehl7_Click
    DoCmd.GoToRecord , , acNewRec
    Me!cboMuenzen.SetFocus
Exit_Befehl7_Click:
    Exit Sub
Err_Befehl7_Click:
    MsgBox Err.Description
    Resume Exit_Befehl7_Click   
End Sub
Als ich das so hatte wurden mir immer 2 Datensätze angelegt.
Ich denke mal das das nicht so ganz richtig ist weiß aber auch nicht mehr weiter wahrscheinlich ganz simpel.

Kann mir einer von euch mal behilflich sein. Wäre sehr nett.

MFg Tom72
jens05
Moderator


Verfasst am:
07. Jul 2007, 11:57
Rufname:
Wohnort: ~~~~~


AW: Focus soll wechseln nach klick auf Button - AW: Focus soll wechseln nach klick auf Button

Nach oben
       Version: Office XP (2002)

Hallo,
wo soll der neue DS erzeugt werden? Im HF oder UF?
Wo liegt der Button?

_________________
mfg jens05 Wink
Tom72
Möchtegern


Verfasst am:
07. Jul 2007, 13:01
Rufname: Tom
Wohnort: Mexiko

AW: Focus soll wechseln nach klick auf Button - AW: Focus soll wechseln nach klick auf Button

Nach oben
       Version: Office XP (2002)

Hallo jens05,

Danke erstmal für deine Antwort.

Hast recht etwas ungenau.

Also der Button liegt auf dem HF das hatte ich aber angegeben.
Zitat:
Auf dem Hauptformular ist ein Kombifeld für die Münzen, ein Objektfeld für Bilder und ein Button für den nächsten Datensatz.
Der neue Datensatz soll im HF erzeugt werden. Das ist die Tabelle Muenzen.

Vielen Dank für deine Hilfe.

Mfg Tom72
jens05
Moderator


Verfasst am:
07. Jul 2007, 15:48
Rufname:
Wohnort: ~~~~~

AW: Focus soll wechseln nach klick auf Button - AW: Focus soll wechseln nach klick auf Button

Nach oben
       Version: Office XP (2002)

Hallo,
wenn der Button im HF liegt, sollte der Fokus dannach automatisch im HF liegen.
Mit deinem Code (der richtig scheint) sollte ein DS im HF erzeugt werden und der Fokus ins Kombis (im HF) verschoben werden.
Kannst du ein Beipiel der DB zeigen, wo
Zitat:
Als ich das so hatte wurden mir immer 2 Datensätze angelegt.
passiert?
Sorry das ich deinen ersten Post nicht richtig verstanden habe. Embarassed

_________________
mfg jens05 Wink
Tom72
Möchtegern


Verfasst am:
07. Jul 2007, 17:21
Rufname: Tom
Wohnort: Mexiko


AW: Focus soll wechseln nach klick auf Button - AW: Focus soll wechseln nach klick auf Button

Nach oben
       Version: Office XP (2002)

Hallo jens05,

Also diese neue Danbank stammt von meiner Vorlage ab. Ich habe mit ihr das gleiche problem nur das sie andere Daten hat.

Ich dachte ich könnte mal so eben sie umschreiben hätte aber erstmal das problem lösen sollen.

Nun zu deiner letzten Antwort erstmal noch Danke.

Also ich öffne das Formular und mir wird der 1. Datensatz von 403 Datensätzen angezeigt.

Ich klicke nun auf den Button und Access springt zum neuen Datensatz 404.

Der Focus ist jetzt auf dem Kombifeld vom HF.

Ich trage da jetzt etwas ein, drücke enter und der Focus wandert ins UF auf das Kombifeld.

Bis hier noch alles i.o.

Ich habe an dieser stelle zu vorsicht in die Tabelle geschaut der Datensatz wurde einmal eingetragen.

Noch ein Hinweis ob ich was im Kombifeld vom UF was eintrage oder nicht spielt für den fehler keine rolle ich habe beides getestet.

Wir nehmen den fall ich trage nichts ein.

Klicke ich nun auf den Button, der focus ist immer noch auf dem Kombifeld vom UF, springt Access zum neuen Datensatz "406"???? und der Focus wandert wie gewollt zwar auf dem Kombifeld vom HF aber es wurde mir in der Tabelle im Datensatz 405 das gleiche nochmal eingetragen was schon im Datensatz 404 steht.

Und das passiert jedesmal wenn ich mich im UF befinde und klicke auf den button im HF.

Sehr merkwürdig.

Ach ja noch was.

wenn ich die markierte zeile aus dem Code entferne habe ich keine doppelten einträge mehr.
Code:
Private Sub Befehl7_Click()
On Error GoTo Err_Befehl7_Click
    DoCmd.GoToRecord , , acNewRec
'#########################
    Me!cboMuenzen.SetFocus
'#########################
Exit_Befehl7_Click:
    Exit Sub
Err_Befehl7_Click:
    MsgBox Err.Description
    Resume Exit_Befehl7_Click   
End Sub
Was dann nicht mehr geht ist das wenn ich im UF bin und klicke auf den Button im HF das der Focus vom UF auf das Kombifeld vom HF wandert.

So ich hoffe das hilft ansonsten bitte E-Mail Adresse angeben und ich schicke dir die Datei.

Vielen Dank für deine Mühe.

Mfg Tom72
jens05
Moderator


Verfasst am:
08. Jul 2007, 09:54
Rufname:
Wohnort: ~~~~~

AW: Focus soll wechseln nach klick auf Button - AW: Focus soll wechseln nach klick auf Button

Nach oben
       Version: Office XP (2002)

jens05 am 07. Jul 2007 um 20:22 hat folgendes geschrieben:
Hallo,
schau mal in deine Inbox ;)

Hallo Tom72,
sorry ich kann dein Problem auch an deiner DB nicht nachvollziehen.
1. gehe neuer DS
2. wähle Titel aus (ID = 417)
3. gehe in UF und wähle dort
4. Klick Button neuer DS
5. wähle Titel aus (ID = 418) Question

Ich denke du störst dich daran, das die Nummern nicht fortlaufend vergeben werden?
Ein Autowert ist dafür denkbar ungeeignet.

Schau Dir hierzu auch mal das Thema Problem bei der Autowert-Vergabe (FnlGet_NextFreeNr) an.

_________________
mfg jens05 Wink
Tom72
Möchtegern


Verfasst am:
20. Jul 2007, 23:15
Rufname: Tom
Wohnort: Mexiko

AW: Focus soll wechseln nach klick auf Button - AW: Focus soll wechseln nach klick auf Button

Nach oben
       Version: Office XP (2002)

Tom72 am 08. Jul 2007 um 16:13 hat folgendes geschrieben:
Hallo jens05,

So erstmal vielen Dank für deine Mühe.
Wähls du einen Titel aus oder gibst du einen neuen ein?
Also es geht mir nicht darum das die Zahl nicht paßt das kenn ich, da hat mir Willi schon mal mit geholfen.

Ich störe mich daran wenn ich diesen Code benutze:
Code:
Private Sub btnDatensatz_hinzufügen_Click()
On Error GoTo Err_btnDatensatz_hinzufügen_Click
    DoCmd.GoToRecord , , acNewRec
'#########################################
    Me!cboFilmtitel_Haupt_FD.SetFocus
'#########################################
Exit_btnDatensatz_hinzufügen_Click:
    Exit Sub
Err_btnDatensatz_hinzufügen_Click:
    MsgBox Err.Description
    Resume Exit_btnDatensatz_hinzufügen_Click
End Sub
Das mir in der Tabelle "tblFilm" der Titel den ich über das Kombifeld vom HF eingetragen habe 2 mal eigetragen wird.

Ich habe es ebend noch mal probiert.
Das Formular öffnet sich ja von alleine.
Ich klicke auf den Button Datensatz hinzufügen.

Access springt zu einem Neuen Datensatz.

Ich gebe einen Film ein, drücke die Tab-Taste oder die Enter-Taste und sollte der Film noch nicht in der Tabelle sein wird er nach Bestätigung eingetragen.
(Not in List)
Der Focus ist dann im Kombifeld vom UF.
An dieser Stelle habe ich in die Tabelle geschaut und siehe da die letzten 2 einträge sind gleich.

Und das ist bei dir nicht ???
Ist mein Access vielleicht anders eingestellt wie bei dir? z.B. Verweise?
Also danke nochmal für deine hilfe ich werde auch weiter forschen.

Mfg Tom72

Tom72 am 19. Jul 2007 um 23:32 hat folgendes geschrieben:
Hallo an alle,

Ich habe immer noch dieses Problem das 2 Titel in der Tabelle eingetragen werden.

Ich finde den Fehler einfach nicht.
Kann mir jemand sagen wo der fehler ist nicht verbessern.
Ich möchte das ja auch verstehen.
Ich habe hier die Datei zum runterladen bereitgestellt.

{Datei angehaengt by Willi Wipp}

Und nochmal es geht mir nicht um die FilmID oder FilmNr.
Ich trage über das Formular den Film 1x ein, in der Tabelle steht er dann 2X.
Ich bin der Meinung es beißt sich mit dem "BildAktualisieren".

Vielen Dank schon im voraus.

Mfg Tom72

Hallo an alle,


Folgendes habe ich jetzt noch herausgefunden.

Es hat anscheind nichts mit dem BildAktualisieren zutun.

Ich habe mir das noch mal genauer angeschaut und bin drauf gestoßen das das

Ereigniss Not in List schuld dran ist.
Code:
Private Sub cboFilmtitelFD_NotInList(NewData As String, Response As Integer)
    Dim db As DAO.Database
    Dim RC As DAO.Recordset

    ' Den Benutzer fragen, ob ein neuer Wert hinzugefügt werden soll.
    If MsgBox("Filmtitel nicht in der Tabelle soll er eintragen werden?", _
              vbOKCancel + vbQuestion, "Neuer Eintrag") = vbOK Then
        ' Einstellen des Arguments Response, um
        ' anzugeben, daß die Daten hinzugefügt werden.
        Response = acDataErrAdded
        ' Hinzufügen der Zeichenfolge aus dem Argument NewData _
        ' zur zugrundeliegenden Tabelle
        Set db = CurrentDb ' Datenbank zuweisen
        Set RC = db.OpenRecordset("tblFilm") ' Tabelle öffnen
        With RC
            .AddNew ' Neuen Datensatz erstellen.
            !Filmtitel = NewData ' Daten zuweisen
            .Update ' Änderungen speichern.
            .Close ' schließen
        End With
        db.Close ' Datenbank schließen
      Else
        ' Der Benutzer hat "Abbrechen" gewählt: die Fehlermeldung
        ' unterdrücken und die Änderungen rückgängig machen.
        Response = acDataErrContinue
        cboFilmtitelFD.Undo
    End If
End Sub
Ich habe dann mal Haltepunkte gesetzt und per Quickinfo mal nach geschaut.

Mir ist aufgefallen das in "Response = acDataErrContinue" die Zahl 2 enthalten ist.

Ist das der Grund warum 2x der Filmtitel eingetragen wird???

Kann mir einer von Euch Profis erklären woher Access diese besagte "2" hernimmt

oder zugeteilt bekommt.

Vielen Dank schon mal im vorraus.

Mfg Tom72



dvd97.zip
 Beschreibung:
Datei angehaengt by Willi Wipp

Download
 Dateiname:  dvd97.zip
 Dateigröße:  157.35 KB
 Heruntergeladen:  10 mal

JörgG
Access-Team


Verfasst am:
21. Jul 2007, 00:08
Rufname:
Wohnort: b. Dresden

AW: Focus soll wechseln nach klick auf Button - AW: Focus soll wechseln nach klick auf Button

Nach oben
       Version: Office XP (2002)

Hallo,

mit Deiner vorvorletzten Beschreibung lässt sich der Effekt reproduzieren.

Wenn Du mal die Datenherkünfte des HF und des Kombis anschaust, solltest Du es merken. Beide benutzen die tblFilm als Datenherkunft! Du erzeugst im HF einen neuen DS und gibst den neuen Film ein. Dieser DS ist aber zZt noch nicht gespeichert, es kommt also die Kombiabfrage NotInList und erzeugt erstmal den Film, der anschliessend mit dem Speichern des HF Datensatzes nochmal angelegt wird . . . jetzt klar wo die Duplikate herkommen? Es entsteht eine Art Zirkelbezug, dabei dürfte durch die ID-Reservierung das 1. vom HF kommen und das höhere ID vom Kombi.

Ändere das Kombi in 1 Spalte (gebunden an das Feld Filmtitel), "nur Listeneinträge:" Nein, und schmeiss die NotInList-Prozedur raus.

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Tom72
Möchtegern


Verfasst am:
21. Jul 2007, 01:24
Rufname: Tom
Wohnort: Mexiko

AW: Focus soll wechseln nach klick auf Button - AW: Focus soll wechseln nach klick auf Button

Nach oben
       Version: Office XP (2002)

Hallo Jörg,

Na klar so einfach ich wußtes es das es nur sowas sein kann damit ich es nicht sehe oder erkenne.

Besten Dank dafür.

Aber was kann ich dagegen sinnvolles tun?
Irgendeine von den beiden Datenherkünfte müßte geändert werden.
Aber wenn ich genau drüber nachdenke reicht es doch wenn der code vom
Ereigniss "Not in List" umgeschrieben wird und zwar so das nur noch kontrolliert
wird ob der Film schon in der Tabelle ist.

Das ganze dann noch bestätigen lassen per MSG-Box bei "Ja" ab zum nächsten DS und bei "Nein" den Titel automatisch in dem Feld löschen.

Was meist du geht das oder ist da völlig falsch???

Vielen Dank noch mal für deine Zeit und Mühe.

Mfg Tom72
JörgG
Access-Team


Verfasst am:
21. Jul 2007, 10:17
Rufname:
Wohnort: b. Dresden

AW: Focus soll wechseln nach klick auf Button - AW: Focus soll wechseln nach klick auf Button

Nach oben
       Version: Office XP (2002)

Hallo Tom,

Probiere es mal so:
Zitat:
Ändere das Kombi in 1 Spalte (gebunden an das Feld Filmtitel), "nur Listeneinträge:" Nein, und schmeiss die NotInList-Prozedur raus.
, zusätzlich würde ich als Datenherkunft eine sortierte Abfrage nehmen (klicke bei der "Datensatzherkunft" rechts auf die "...")

. . . und statt NotInList testest Du mal das Ereignis "vor Aktualisierung", hier kannst Du den ungespeicherten Wert mit der .Text Eigenschaft abfragen, prüfen und evtl abbrechen:
Code:
Private Sub cboFilmtitel_Haupt_FD_BeforeUpdate(Cancel As Integer)
    Me.RecordsetClone.FindFirst "Filmtitel = '" & _
                                           Me!cboFilmtitel_Haupt_FD.Text & "'"
    If Me.RecordsetClone.NoMatch Then
        If MsgBox("Filmtitel nicht in der Tabelle soll er eintragen werden?", _
                  vbOKCancel + vbQuestion, "Neuer Eintrag") = vbCancel Then
            Cancel = True
        End If
    End If
End Sub

Edit: Das Umschreiben der NotInList-Prozedur, wird nicht funktionieren, da wird wohl eher eine Schleife entstehen und Du kannst das Kombi nicht mehr verlassen.

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Tom72
Möchtegern


Verfasst am:
21. Jul 2007, 18:12
Rufname: Tom
Wohnort: Mexiko

AW: Focus soll wechseln nach klick auf Button - AW: Focus soll wechseln nach klick auf Button

Nach oben
       Version: Office XP (2002)

Hallo Jörg,

Besten Dank funktioniert prima. Razz

Da ich noch einiges lernen muß und ich gerade dabei bin den VBA Code zu dokumentieren, kannst du mir den Code verdeutlichen.

In der "Hilfe" habe ich nachgelesen, ich muß sagen sie ist meistens für mich zu kompliziert.

Haupsächlich interessiert mich folgendes:
Code:
    Me.RecordsetClone.FindFirst "..."
' und
    If Me.RecordsetClone.NoMatch Then
Dann wollte ich dich mal fragen ob du mir einen Tipp geben kannst wie man am besten Code im Direktfenster testet?

Vielen Dank nochmal für deine Mühe und Zeit.

Mfg Tom72
JörgG
Access-Team


Verfasst am:
21. Jul 2007, 19:01
Rufname:
Wohnort: b. Dresden


AW: Focus soll wechseln nach klick auf Button - AW: Focus soll wechseln nach klick auf Button

Nach oben
       Version: Office XP (2002)

Hallo,

das Recordset ist der (uU gefilterte) Datenbestand eines Formulares, meist arbeitet man damit. Im obigen Beispiel steht das Recordset auf einem neuen DS, es wäre also ungünstig jetzt den DS-Zeiger zu verschieben. Deshalb nehmen wir seine Kopie (den Klon) um zB mit FindFirst nachzuschauen ob der eingegebene Film bereits existiert. Ist diese Suche nicht erfolgreich liefert .NoMatch ein True und die MsgBox öffnet sich.

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Eingaben per Button berechnen lassen 14 ChrissX 291 24. März 2013, 13:29
ChrissX Eingaben per Button berechnen lassen
Keine neuen Beiträge Access Tabellen & Abfragen: Kombifeld mit Button 8 fossiebaer 286 01. Apr 2011, 09:44
fossiebaer Kombifeld mit Button
Keine neuen Beiträge Access Tabellen & Abfragen: Excel Tabellen per Button miteinander verknüpfen 0 Sebastian23 1097 18. Feb 2010, 16:08
Sebastian23 Excel Tabellen per Button miteinander verknüpfen
Keine neuen Beiträge Access Tabellen & Abfragen: Mit einem Klick automatisch von Excel in Access importieren 2 GastKalle 297 21. Okt 2009, 15:35
GastKalle Mit einem Klick automatisch von Excel in Access importieren
Keine neuen Beiträge Access Tabellen & Abfragen: Button mit variabler Monatsberschriftung 2 gildemeister 312 27. Jan 2009, 00:50
gildemeister Button mit variabler Monatsberschriftung
Keine neuen Beiträge Access Tabellen & Abfragen: Kriterium per Button im Formular zur Laufzeit ändern 8 ghostX 703 28. Nov 2008, 16:47
ghostX Kriterium per Button im Formular zur Laufzeit ändern
Keine neuen Beiträge Access Tabellen & Abfragen: Button VBA Code zum Verknüpfen aller ODBC -Tabellen 3 adamth 3954 08. Sep 2008, 13:10
rita2008 Button VBA Code zum Verknüpfen aller ODBC -Tabellen
Keine neuen Beiträge Access Tabellen & Abfragen: Mehrere unique Pin-codes per Button erstellen lassen 0 Musi 901 21. Mai 2008, 12:26
Musi Mehrere unique Pin-codes per Button erstellen lassen
Keine neuen Beiträge Access Tabellen & Abfragen: Nach klick auf Button Wav Abspielen 1 roboterbert 3017 19. Feb 2008, 21:06
jens05 Nach klick auf Button Wav Abspielen
Keine neuen Beiträge Access Tabellen & Abfragen: Eintrag in Listenfeld bei klick an abfrage übergeben? 5 Zamp 1012 07. Dez 2006, 07:58
derArb Eintrag in Listenfeld bei klick an abfrage übergeben?
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle per button öffnen 1 Lordoo 1454 14. Jul 2004, 14:05
lothi Tabelle per button öffnen
Keine neuen Beiträge Access Formulare: Mit Button ein Ja/nein Wert in Tab schreiben 2 Gast 398 03. Jun 2004, 11:43
Gast Mit Button ein Ja/nein Wert in Tab  schreiben
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Expression Web Forum