Access 2000 - leere Abfrageergebnisse abfangen
Ich habe ein Formular, in welchem über Buttons auf weitere Formulare zugegriffen wird. Auf den einzelnen Buttons ist beim Klicken eine Ereignissprozedur hinterlegt, welche ein weiteres Formular öffnet. Dieses weitere Formular ist mit einer Abfrage hinterlegt. Beim Klicken auf die Schaltfläche öffnet sich eine Inputbox, in welche man das gewünschte Kriterium einfügen kann. Stimmt die Eingabe mit einem der Werte dieses Feldes in der Tabelle überein, liefert das aufzurufende Formular die entsprechenden Werte. Sollte das Kriterium jedoch in der Tabelle nicht vorhanden sein, soll das Formular erst gar nicht geöffnet werden, sondern eine Meldung ausgegeben werden, dass das Kriterium nicht verfügbar ist. Derzeit wird jedoch ein komplett leeres Formular geöffnet, wenn keine Daten vorhanden sind. Was ja auch so logisch ist. Dies möchte ich jedoch verhindern.
Wie mach ich das am Besten?
Antwort schreiben
Antwort 1 von GastXY vom 10.04.2020, 11:13 Options
Ergänzung zum Problem:
Ich habe nun beim zu öffnenden Formular eine Ereignisprozedur Beim Öffnen hinterlegt:
Private Sub Form_Open(Cancel As Integer)
If Form.OnApplyFilter = "" Then
MsgBox "Die von Ihnen eingegebene Personalnummer existiert nicht!", vbExclamation, "Personalnummer nicht vorhanden!"
DoCmd.Close
End If
End Sub
Jetzt kann man zunächst das gewünschte Kriterium eingeben, anschließend wird geprüft. Jedoch bringt er mir diese Fehlermeldung und das Schließen des Formulars nun bei jedem Datensatz. Selbst, wenn die Personalnummer (in dem Beispiel hier) vorhanden ist.
Was mache ich falsch?