Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

GoToControl ins Unterformular !!!





Frage

Hallöle !!! Ich hatte das Prob hier im SN schon mal angesprochen. Ich möchte das Acces nicht im Datensatz weitergeht wenn ich mit der Tab-Taste ins Unterformular wechsel. Damals wurde mir berichtet es mal mit einer GoTo Anweisung zu versuchen. Diese klappt im Hauptformular wunderbar. Nur im Unterformular macht er zicken. Es kommt immer die Fehlermeldung das, das Formular geschlossen ist. In der Hilfe von acces steht ja auch drin das die **ma richtig schreiben :o)*** DoCmd.GoToControl("Steuerelementenname") nur bei geöfnetten Formularen funktioniert. Sind denn die Unterformulare nicht automatisch mit auf wenn ich das Hauptformular öffne ???? Gibts noch eine Lösung außer der GoTo Befehl?? Ach so ja. Da ich noch absolut unbeleckt bin was VBA bzw. Programmieren ansich betrifft, könnte mal jemand so lieb sein und mir ne Liste an meine Mail schicken (bzw. nen Link posten) woraus ich ma sehen kann was bestimmte Zeichen wie z.B "" oder [] ect. heißen und wann ich sie benutzen mus ??? Besten Dank an euch !!! By by NBChris

Antwort 1 von Koebi

Grüezi NBChris

Ich nehme an, das Unterformular ist bei Dir auch in der Aktivierreihenfolge. Dann springst Du automatisch mit Tab dorthin.
Nun kannst du im Unterformular für das Ereignis "Beim Anzeigen" eine Ereignisprozedur erstellen und damit den Focus auf das gewünschte Feld im Unterformular setzen. Wenn das Feld z.b. Test heisst, würde die Prozedur heissen:
Me.Test.SetFocus

Ich kanns im Moment nicht testen. Sollte es nicht hinhauen, dann probierst Du die Prozedur beim Ereignis "Beim Laden" oder "Beim Öffnen".

Gruss
Köbi

Antwort 2 von MixMax

versuche es mal mit

DoCmd.GoToControl("Formularname.Steuerelementenname")

um dir von einem Object das Formular zu beziehen solltest du parent benutzen
beispiel :

Private Sub Command1_Click()
msgbox caption
msgbox parent.caption
End Sub

gibt erst die eigene Beschriftung und dann die Beschriftung des übergeordneten Objects aus.

Antwort 3 von Koebi

Nochmals ich

Eine Liste zur Erklärung der Zeichen kann ich Dir nicht schicken. Aber im Index der Access-Hilfe sind die Zeichen am Anfang aufgeführt.
Sieh Dir dort einmal "[Ausdrücke] an, und dort "So verwenden Sie Werte in Ausdrücken".
Aber wenn es eine bessere Erklärung oder Liste gibt, wäre ich auch daran interessiert.

Gruss
Köbi

Antwort 4 von NBChris

Moin Moin !!!!

@MixMax

Ich habe deine Variante mal ausprobiert. Ich bekomme wie immer die gleiche Fehlermeldung.
<<<Der aktuelle Datensatz enthält kein Feld das den Namen "Name des Unterformulars.Steuerelementname" enthält. Möglicherweise ist das Formular geschlossen.

@Köbi

Mit der Aktiverungsreinfolge, komme ich vom Hauptformular ins erste Unterformular mit der Tab-Taste. Das haut hin. ( das Unterformular hat nur 1 Steuerelement)Jetzt möchte ich von dort ins zweite Unterformular und das klappt wie oben schon nicht mehr.(hat vier Steuerelemente. Dann springt er im ersten Unterformular in einen neuen Datensatz. Ich bekomme ne Kriese. AHHHH

Wegen den VBA Zeichen. Kann mir ma einer genau sagen wie man die fachlich korekt nennt ?? Dann weiß ich auch wonach ich suchen mus. ( "";();[]; und und und )Ich müste nämlich echt mal wissen wann ich z.B was in "" setzen mus oder in Klammern.
Wenn ich was dann was finde lasse ich dir gerne die Liste zukommen @ Köbi. :)

habt vielen Dank

by by Grüße NBChris

Antwort 5 von Koebi

Grüezi NBChris

Setz im Unterformular bei den Daten "Anfügen zulassen" auf Nein. Dann bleibst Du schon mal im Datensatz.

Dann kannst Du, wieder im Unterformular, beim letzten Feld im Ereignis "Beim Verlassen" eine Prozedur setzen, dass der Focus auf das nächste Unterformular gesetzt wird, und dort wieder beim beim Laden oder Öffnen oder Anzeigen (ich weiss es immer noch nicht) den Focus auf das erste Feld im neuen Unterformular setzen.

So sollte es eigentlich gehen.

Zu den Ausdrücken: Findest Du in der Access-Hilfe, im Index, wirklich nichts. Bevor es dort mit der alphabetischen Aufzählung los geht, siehst Du Einträge mit Sonderzeichen voraus, z.B. eben "[Ausdrücke].
Eine Klammer () ist auch hier eine Klammer und eine eckige Klammer [] eine eckige Klamemer.:-))

Gruss
Köbi

Antwort 6 von NBChris

Also
Wenn ich in den Unterformularen "Anfügen zulassen" ausschalte zeigt er mir keine Steuerelemente mehr an.
Bei Focus setzen oder GoToControl, egal ob ich es bei verlassen oder bei Fokusverlust versuche, bekomme ich nen
Laufzeitfehler 2450. Datenbank kann Formular nicht finden.
Nochmal zur Reinfolgeposition. Da versteh ich was nicht. Im Hauptformular gehen die Positionsnummern von 0 bis 8. Das erste Unterformular hat die Pos. Nummer 8. Das Steuerelement fängt aber wieder mit 0 an.Die beiden anderen Unterformulare haben dann die 9 und die 10 im Hauptformular. Also sollte es doch eigentlich klappen.mhm

By NBChris

Antwort 7 von Koebi

Ja, sollte.

Aber so auf Ferndiagnosen bin ich zu wenig Fachmann.
Wenn Du willst und kannst oder darfst, kannst Du mir Deine Datenbank ja mal mailen, mit oder ohne Daten. Aber bitte gezipt, sonst nimmt sie bei mir die Outlook-Hürde nicht.

Gruss
Köbi

Antwort 8 von NBChris

Ich mus ma schauen ob ich sie noch so ungefähr zu Hause habe. Ich darf von hier aus keine Daten senden. Ich hatte sie mir ma @ home geschickt und dann haben sie mir hier den account gespert.
Dumm gelaufen g.g !!! aber wenn ich sie zu Hause noch finde schicke ich sie dir liebend gerne.

besten Dank NBChris

Antwort 9 von Koebi

Hallo NBChris

Ich habe ja geschrieben "wenn Du darfst..."
Ich will Dich hier absolut nicht zu etwas verleiten, weswegen Du nachher Schwierigkeiten bekommst.

Ich beschäftige mich jetzt noch ein wenig mit Deine Frage. Wenn ich etwas zu finden glaube, erhältst Du heute Nachmittag noch Antwort.
Vielleicht hat aber auch sonst jemand einen guten Tipp.

Gruss
Köbi

Antwort 10 von 14071

Hi Chris,

knüpfe an die Eigenschaft "beim Verlassen" des Feldes eine Ereignisprozedur mit dem Kommando SetFocus auf das Feld des Unterformulars. Dabei musst Du angeben
Formulare!Hauptformularname!Unterformularname!Steuerelementname!SetFocus

Gruß
Jürgen

Antwort 11 von 14071

sorry Tip-fehler - vor dem SetFocus muss ein Punkt - kein Ausrufezeichen.

Gruß
Jürgen

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: