Supportnet / Forum / Datenbanken
Access - Formular schließen
Frage
Folgendes Problem:
ich habe ein Formular, in dem ich, wenn ich auf eine Schaltfläche klicke, eine Abfrage öffne. Jetzt möchte ich, dass dieses Formular sich sofort schließt, wenn die Abfrage sich öffnet
So sieht mein Code aus:
Private Sub Befehl0_Click()
On Error GoTo Err_Befehl0_Click
CurrentDb.QueryDefs.Delete NameDerAbfrage
CurrentDb.CreateQueryDef NameDerAbfrage, SQLText
DoCmd.OpenQuery NameDerAbfrage
‘so geht es nicht #######################################
DoCmd.Close acForm, "FormularDasGeschlossenWerdenSoll"
Exit_Befehl0_Click:
Exit Sub
Err_Befehl0_Click:
MsgBox Err.Description
Resume Exit_Befehl0_Click
End Sub
Was mache ich falsch oder was habe ich vergessen?
Danke im Voraus
maxim66
Antwort 1 von lleopard
hi,
versuchs doch mal einfach mal mit DoCmd.Close ohne zusatz.
und ganz oben unter die subroutine schreibst du
on error resume next
dann kannst du testen, ob der Befehl umgesetzt oder ignoriert wird.
ggf. setzt du einen Haltepunkt bei der zeile mit DoCmd....
Eigentlich solltest du ja einen Fehler bekommen. Denn ich denke, daß er den Befehl nicht ausführt, weil deine CurrentDb... schon vorher einen Fehler auslösen.
Gruß leo
versuchs doch mal einfach mal mit DoCmd.Close ohne zusatz.
und ganz oben unter die subroutine schreibst du
on error resume next
dann kannst du testen, ob der Befehl umgesetzt oder ignoriert wird.
ggf. setzt du einen Haltepunkt bei der zeile mit DoCmd....
Eigentlich solltest du ja einen Fehler bekommen. Denn ich denke, daß er den Befehl nicht ausführt, weil deine CurrentDb... schon vorher einen Fehler auslösen.
Gruß leo
Antwort 2 von Locke
Hallo,
versuche es mal so herum:
Erst schließen, dann die Abfrage ausführen.
Gruß
Locke
versuche es mal so herum:
Private Sub Befehl0_Click()
On Error GoTo Err_Befehl0_Click
DoCmd.Close acForm, "FormularDasGeschlossenWerdenSoll"
CurrentDb.QueryDefs.Delete NameDerAbfrage
CurrentDb.CreateQueryDef NameDerAbfrage, SQLText
DoCmd.OpenQuery NameDerAbfrage
Exit_Befehl0_Click:
Exit Sub
Err_Befehl0_Click:
MsgBox Err.Description
Resume Exit_Befehl0_Click
End SubErst schließen, dann die Abfrage ausführen.
Gruß
Locke
Antwort 3 von maxim66
Hallo,
"DoCmd.Close ohne zusatz" habe ich schon ausprobiert. In diesem Fall wird meine Abfrage geschlossen anstatt des Formulars.
Und jetzt, wenn ich "on error resume next" einbaue, läuft der Code einfach weiter ohne in dieser Zeile was zu machen. D.h. Abfrage offen, Formular offen.
Weitere Vorschläge?
Gruß maxim66
"DoCmd.Close ohne zusatz" habe ich schon ausprobiert. In diesem Fall wird meine Abfrage geschlossen anstatt des Formulars.
Und jetzt, wenn ich "on error resume next" einbaue, läuft der Code einfach weiter ohne in dieser Zeile was zu machen. D.h. Abfrage offen, Formular offen.
Weitere Vorschläge?
Gruß maxim66
Antwort 4 von maxim66
Hallo,
danke für Eure Hilfe.
Ich habe jetzt den Fehler gefunden (dummer Fehler im Namen des Formulars). Es gab keine passende Fehlermeldung und ich habe auch nicht drauf geachtet, zu blöd. Sonst war meine Lösung OK.
Übrigens Locke andersrum geht es nicht - Fehlermeldung
Gruß maxim66
danke für Eure Hilfe.
Ich habe jetzt den Fehler gefunden (dummer Fehler im Namen des Formulars). Es gab keine passende Fehlermeldung und ich habe auch nicht drauf geachtet, zu blöd. Sonst war meine Lösung OK.
Übrigens Locke andersrum geht es nicht - Fehlermeldung
Gruß maxim66
Antwort 5 von Locke
welche Fehlermeldung bekommst Du denn?
Gruß
Locke
Gruß
Locke
Antwort 6 von maxim66
"In dem von Ihnen eingegebenen Ausdruck wird auf ein Objekt verwiesen, das geschlossen ist oder nicht existiert."
Gruß maxim66
Gruß maxim66
Antwort 7 von Locke
Hallo,
kannst Du die Datenbank mal bei Netupload hochladen und den Link hier reinsetzen bitt?
Gruß
Locke
kannst Du die Datenbank mal bei Netupload hochladen und den Link hier reinsetzen bitt?
Gruß
Locke
Antwort 8 von Marie
Hi Locke,
es kann kein Formular geschlossen werden das nicht existiert, So stellt sich das für Access dar, wenn er einen Rechtschreibfehler im Formularnamen hat.
Hast Du seine vorletzte Antwort nicht gelesen?
Gruß Marie
es kann kein Formular geschlossen werden das nicht existiert, So stellt sich das für Access dar, wenn er einen Rechtschreibfehler im Formularnamen hat.
Hast Du seine vorletzte Antwort nicht gelesen?
Gruß Marie
Antwort 9 von Locke
Ja,
ich dachte aber er hat den Namen nun korrigiert und es käme dann eine Fehlermeldung......
Er meinte ja seins geht nun und meins nicht.
Ergo gehe ich davon aus das der Schreibfehler weg ist.
Gruß
Locke
ich dachte aber er hat den Namen nun korrigiert und es käme dann eine Fehlermeldung......
Er meinte ja seins geht nun und meins nicht.
Ergo gehe ich davon aus das der Schreibfehler weg ist.
Gruß
Locke

