PDA

Vollständige Version anzeigen : Verarbeitung von Parameterabfrage


rizzy
16.06.2001, 15:12
Hilfe,

festgefahren!

Hinter einem Formular steckt eine Parameterabfrage nach "Name".
Meine Vorstellungen gehen dahin:

Gibt es den Namen, dann öffne das Formular Kunden genau dort (das tut auch).
Ist der Name nicht vorhanden, frag mich, ob ich ihn neu anlegen will; wenn ja, öffne das Formular "Neuer Kunde"; wenn nein, vergiss, dass ich was gefragt habe.

Da ich ein absoluter VBA-Nixwisser bin, hänge ich seit zwei Tagen an dieser Stelle fest :mad:

Danke für Eure Hilfe!
rizzy

Bernd Koch
17.06.2001, 03:48
Zunächst: es ist nicht gut, ein Feld "Name" zu nennen, denn das ist in Access ein geschütztes Wort und könnte dir ab und zu Stress bereiten. Ich habe deshalb hier "Nachname" verwendet.

Im nachfolgenden Code habe ich das Formular "Neuer Kunde" als "frmNeuerKunde" bezeichnet und das normale Formular als "frmDeinFormular" - also ändere den Code entsprechend, wenn deine Formulare anders heißen.

- Gehe in die Eigenschaften deines Formulares, Registerkarte "Ereignis" und dort in die Zeile "Beim Öffnen".

- Mach dort einen Doppelklick (es erscheint [Ereignisprozedur])

- klick dann auf die drei Punkte neben der Zeile - du landest im Klassenmodul

- an der Stelle, wo der Cursor blinkt, gib folgenden Code ein:


If IsNull(Nachname) = True Then

If MsgBox ("Dieser Name ist nicht vorhanden!! Formular 'Neuer Kunde' öffnen?", vbOKCancel) = vbCancel Then

DoCmd.OpenForm "frmDeinFormular"

Exit Sub

End If

DoCmd.OpenForm "frmNeuerKunde", acNormal, , , , acDialog

End If

End Sub

- dann speichere und schließe dein Formular.

- beim erneuten Öffnen kommt ja jetzt die Parameterabfrage. Gib mal einen Namen ein, der noch nicht in der Tabelle vorhanden ist.

- nun kommt das Meldungsfenster. Klicke dort auf "OK". Das Formular "frmNeuerKunde" öffnet sich. Wenn du es schließt, öffnet sich automatisch dein normales Formular.

Bernd

rizzy
17.06.2001, 12:00
Hallo Bernd,

Vielen Dank, es hat geklappt :D !

Schönen Sonntag noch!

rizzy