Supportnet / Forum / Datenbanken
Kombinationsfeld
Frage
Nachdem ich nun zwei Fragen nicht beantwortet bekommen habe*nichtgewohntbin* starte ich einen dritten versuch. :(
Ich fülle ein Kombinationsfeld über VBA code mit werten aus einer Tabelle. (Nicht spezifisch, da das selbe Feld auch mit werten aus einer anderen Tabelle gefüllt werden kann) sobald ein WErt eingegeben wurde, überprüft das Ereignis beim verlassen des Feldes, ob der Wert schon einmal vorhanden war. Ist dies der Fall, soll das Feld gelöscht erden und der Cursor wieder auf dem Feld stehen.
Leider springt der Cursor immer eins weiter. Habe es schon mit setfocus und dem DoCmd Objekt versucht. Hat alles nicht geklappt.
Vielleicht weiß jemand rat. Habe schon die Vermutung, dass dies mit KombiFeldern gar nicht funktioniert.
Antwort 1 von oliverV
Hallo,
was du genau mit deinem Kombifeld machst habe ich nicht verstanden, tut aber eigentlich auch nichts zur Sache.
Um den Fokus in ein Formularfeld zu setzten verwende
Den Fokus solltest du erst nach dem Ausführen aller anderen Aktionen (wie z.B. dem Löschen) auf das Feld setzten.
Evtl. hilft auch zusätzliche ein Requery zwischen dem Löschvorgang und dem Fokussieren.
Gruß
Oliver
was du genau mit deinem Kombifeld machst habe ich nicht verstanden, tut aber eigentlich auch nichts zur Sache.
Um den Fokus in ein Formularfeld zu setzten verwende
Me!Feldname.SetFocus
Den Fokus solltest du erst nach dem Ausführen aller anderen Aktionen (wie z.B. dem Löschen) auf das Feld setzten.
Evtl. hilft auch zusätzliche ein Requery zwischen dem Löschvorgang und dem Fokussieren.
Gruß
Oliver
Antwort 2 von trekking
Habe ich alles schon versucht und es geht alles nicht.
Ich "Fülle" das Feld über eine VBA funktion, so dass es ungebunden ist und ich es auch noch mit anderen werten "füllen"kann. (Benutzte ein Formular für mehrere unterschiedliche funktionen Z.B Neue Branche oder anderer Außendienst)
Ich "Fülle" das Feld über eine VBA funktion, so dass es ungebunden ist und ich es auch noch mit anderen werten "füllen"kann. (Benutzte ein Formular für mehrere unterschiedliche funktionen Z.B Neue Branche oder anderer Außendienst)
Antwort 3 von oliverV
Den Fokus kannst du auf Kombifelder setzten (egal ob gebunden oder ungebunden), das habe ich schon mehrfach gemacht; kannst du ja auch einfach mal in einem neuen Formular nachbauen.
Ich hatte mal ein ähnliches Problem, kann es aber leider nicht mehr richtig nachvollziehen, da es schon einige Zeit her ist.
Versuch evtl. mal ein ungebundenes Textfeld in dein Formular einzufügen; setzte dieses Textfeld in der Aktivierungsreihenfolge hinter dein Kombifeld, sodass dieses Feld dann automatisch den Fokus bekommt.
Beim GotFocus-Ereignis kannst du dann deinen SetFocus-Code (auf Kombifeld) verwenden.
Funktioniert natürlich nur, wenn hinter dem Kombifeld keine weiteren aktivierten Felder liegen, sonst kann der Benutzer die Tab-Taste tagelang ohne erkennbares Ergebnis drücken.
Sorry, sonst habe ich im Moment auch keine Idee mehr.
Gruß
Oliver
Ich hatte mal ein ähnliches Problem, kann es aber leider nicht mehr richtig nachvollziehen, da es schon einige Zeit her ist.
Versuch evtl. mal ein ungebundenes Textfeld in dein Formular einzufügen; setzte dieses Textfeld in der Aktivierungsreihenfolge hinter dein Kombifeld, sodass dieses Feld dann automatisch den Fokus bekommt.
Beim GotFocus-Ereignis kannst du dann deinen SetFocus-Code (auf Kombifeld) verwenden.
Funktioniert natürlich nur, wenn hinter dem Kombifeld keine weiteren aktivierten Felder liegen, sonst kann der Benutzer die Tab-Taste tagelang ohne erkennbares Ergebnis drücken.
Sorry, sonst habe ich im Moment auch keine Idee mehr.
Gruß
Oliver
Antwort 4 von trekking
Danke für die Mühe,
mir ging gestern dann um ca. 24.00 Uhr auch die Luft aus. Habe dann das ganze einfach umprogramiert und mache es jetzt etwas anders. *grummel* War nicht so zufriedenstellend.
Gruß trekking
mir ging gestern dann um ca. 24.00 Uhr auch die Luft aus. Habe dann das ganze einfach umprogramiert und mache es jetzt etwas anders. *grummel* War nicht so zufriedenstellend.
Gruß trekking
Antwort 5 von trekking
Hallo Oliver,
habe gestern herausgefunden was passiert ist.
Kurz vor der Aktion setFocus. Öffnet sich eine normale MsgBox. Beim bestätigen mit OK bricht diese wohl die nachfolgende Aktion so ab, dass sie nicht ausgeführt wird. Konnte dass dann so lösen, dass ich die MSGox an eine Variable binde und einen Rückgabewert erhalte. Jetzt gehts.
Gruß trekking
PS: Was man doch so alles lernt, das nicht in der Fachliteratur steht.
habe gestern herausgefunden was passiert ist.
Kurz vor der Aktion setFocus. Öffnet sich eine normale MsgBox. Beim bestätigen mit OK bricht diese wohl die nachfolgende Aktion so ab, dass sie nicht ausgeführt wird. Konnte dass dann so lösen, dass ich die MSGox an eine Variable binde und einen Rückgabewert erhalte. Jetzt gehts.
Gruß trekking
PS: Was man doch so alles lernt, das nicht in der Fachliteratur steht.
Antwort 6 von oliverV
Stimmt, die MsgBox war damals auch bei mir der Verursacher.
Ich hatte den Focus sowohl vor wie auch nach dem Öffnen der MsgBox auf das gewünschte Feld gesetzt, bei beiden Varianten wanderte der Focus jedoch ein Steuerelement weiter.
Anscheinend wird eine Bestätigung der MsgBox als eine Feldeingabe (oder Feldbewegung) in dem Feld interpretiert aus dem heraus sie aufgerufen wird (unabhängig vom fokussiertem Feld).
Gruß
Oliver
Ich hatte den Focus sowohl vor wie auch nach dem Öffnen der MsgBox auf das gewünschte Feld gesetzt, bei beiden Varianten wanderte der Focus jedoch ein Steuerelement weiter.
Anscheinend wird eine Bestätigung der MsgBox als eine Feldeingabe (oder Feldbewegung) in dem Feld interpretiert aus dem heraus sie aufgerufen wird (unabhängig vom fokussiertem Feld).
Gruß
Oliver

