Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Focus springt nicht ins Detailfeld

Begonnen von Neuling1, Juli 01, 2010, 12:59:09

⏪ vorheriges - nächstes ⏩

Neuling1

Hallo,

ich bin neu in Access unterwegs, bzw. war schon einige Jahre nicht mehr damit beschäftigt und habe alles verlernt.
Mein Problem ist eine Eingabemaske, mit Formularkopf und Detailfeld.
Die Variablen im Detailfeld werden trotz Aktivierungsreihenfolge nicht angesprungen.
Der Fokuserhalt beim Öffnen des Formulars geht richtig erst in den Formularkopf, 1. Variable. Wenn die letzte Variable des Formularkopfes verlassen wird, steht hierfür in der Variable die Anweisung noch einmal:
Private Sub Gebdat_AfterUpdate()
DoCmd.GoToControl "Auf"
End Sub
Aber es nützt nichts, der Curser springt wieder in das erste Feld des Formularkopfes.
Was ist hier zu tun, offenbar klappt der Wechssel von Formularkopf zu Detailfeld nicht. Ziehe ich alle Variablen direkt in das Detailfeld, funktioniert es, also es wird offenbar kein Sprung/Wechsel innerhalb der Bereiche vollzogen?
Wäre dankbar für eure Hilfe!
Datenerhebung dient dem Nachweis, nicht der Form der Prozedur, deren Qualität mit Hilfe von Datenerhebung nachgewiesen werden soll

database

Hallo,
willkommen bei Access-o-Mania!

Vorausgesetzt das Steuerelement (nicht Variable) heißt tatsächlich 'Auf' KANNST du folgendes versuchen:


Private Sub Gebdat_AfterUpdate()
    Me!Auf.SetFocus
End Sub



Warum hast du überhaupt Steuerelemente zur Dateneingabe im Formularkopf stehen?
Die sollten allesamt im Detailbereich angesiedelt sein.

Neuling1

Vielen Dank für die Antwort.
Leider tut sich da nichts! Keine Reaktion!
Ich möchte 4 Steuerelemente in meinem Formularkopf haben, weil diese in dem Folgeformular wieder angezeigt werden sollen.
Also: Ich habe eine Tabelle, die über das Formular gefüllt wird, und diese Tabelle enthält so viele Steuerelemente, dass es auf einem Formular viel zu unübersichtlich wird. Damit man aber auch auf der 2. Seite weiß, um wen es sich da handelt, willich diese Daten im Folgeformular automatisch anzeigen lassen.
Es handelt sich hier um peronenbezogene Daten, als Fallnr, Name, Vorname, Geburtsdatum.
Aber meine Frage, warum der Cursor das Detailfeld oder auch den Formularkopf ignoriert, ist leider noch nicht beantwortet.
Datenerhebung dient dem Nachweis, nicht der Form der Prozedur, deren Qualität mit Hilfe von Datenerhebung nachgewiesen werden soll

oma

Hallo,

wenn Steuerelement "Gebdat" im Formularkopf und Steuerelement "Auf" im Detailbereich ist, sollte es so funktionieren:

Private Sub Gebdat_Exit(Cancel As Integer)
Me!Auf.SetFocus
End Sub


Gruß Oma
nichts ist fertig!

MzKlMu

Hallo,
wobei sich hier auch ein Registersteuerelement anbieten würde. Damit lassen sich auch viele Felder sehr übersichtlich strukturiert anzeigen.
Und es ist keine einzige Zeile VBA erforderlich. Und man hat alles in einem Formular, was den Umgang mit den Daten auch stark vereinfacht.
Gruß Klaus

Neuling1

Der Vorschlag funktioniert leider wirklich nicht!! Der Detailbereich wird nicht angesprungen!
Das letzte Steuerelement im Formularkopf heißt tatsächlich "Gebdat" von Geburtsdatum und das erste Steuerelement im Detailfeld heißt "Auf" von Aufnahme.
Sind alle Steuerelemente entweder im Formularkopf oder im Detailfeld angelegt, dann klappt es! Ob mit Got Focus oder gotoControl ist egal. Es reicht ja die Aktivierungsreihenfolge zu bestimmen.
Es muss doch daran liegen, dass der Wechsel zwischen den Bereichen nicht klappt. Dann braucht es vielleicht eine Funktion, die den Befehl auslöst, jetzt gehst du, Focus, in den Detailbereich, und dort bitte zu Steuerelement "Auf"aber welche?????Der Cursor weiß ja einfach nicht, dass er jetzt in den detailbereich gehen muss, also dachte ich,  Verknüpfung mit dem neuen Bereich muss ihm erst mal genannt werden. Aber wie?
Datenerhebung dient dem Nachweis, nicht der Form der Prozedur, deren Qualität mit Hilfe von Datenerhebung nachgewiesen werden soll

oma

Hallo Neuling ;D,

habe das mal kurz probiert:

Private Sub Gebdat_Exit(Cancel As Integer)
Me!Auf.SetFocus
End Sub


funktioniert ohne Probleme

Gruß Oma
nichts ist fertig!

MzKlMu

Hallo,
das Ereignis "Bei Fokusverlust" sollte eigentlich auch funktionieren. Ich habe folgendes erfolgreich getestet:

Private Sub Gebdat_LostFocus()
   Me!Auf.SetFocus
End Sub


Hast Du das gelesen mit dem Register?
Gruß Klaus

Neuling1

Hallo, vielen Dank,
ich musste erst mal alles versuchen umzusetzen.
Also ja, vielen Dank, den Tipp mit dem Register habe ich gelesen, kann ich aber nichts mit anfangen, weil noch nie gemacht, gesehen und nicht kann!
Bei mehr Zeit gucke ich es mir einmal an!
Dann nochmal ja, jetzt klappt es, habe nochmal das Steuerelement gelöscht und neu installiert, dann sowohl getestet im Formularkopf und im Detailfeld.
Was soll ich sagen, es ist mir unglaublich peinlich, ich hatte ganz offensichtlich meinen Befehl hinter das Feld Before update gesetzt!!!! Neiiiiiin, wie peinlich!!!!!!!!!Es tut mir leid!!!!
Es liegt an der entsetzlichen Hitze, bestimmt! Die macht einen ganz rammdösig im Kopf!

Vielen vielen Dank für die Hilfe, ich hoffe, ich darf noch mal wieder fragen, wenn ich ein Problem habe!!!!
Sich erstmal da wieder reinzudenken ist nicht einfach!
Datenerhebung dient dem Nachweis, nicht der Form der Prozedur, deren Qualität mit Hilfe von Datenerhebung nachgewiesen werden soll

database

Hi,
du darfst sicher fragen - dazu gibt es dieses Forum! ;D

Me!Auf.SetFocus

Sag' ich ja!
Zitatrammdösig
- nehme ich in die Datenbank auf - das kenn ich noch nicht

ZitatNeiiiiiin, wie peinlich
Wo gehobelt wird, da fallen Späne  :D  --- das ist kein Problem

oma

Hallo,

Neuling kommt scheinbar aus den Norden - rammdösig ist hier ein häufig genannter Ausdruck - auch unter DB-Entwickler ;D

Gruß Oma
nichts ist fertig!