Hallo zusammen - ich habe eine Combobox die Kundennummern behinhaltet und die Adresse des gewählten Kunden zeigt. Falls noch keine Kundennummer & Adresse vorhanden ist möchte ich über vba eine Fehlermeldung einbauen die sagt "Keine Kundendetails vorhanden". Wie sollte dieser code aussehen.
Danke für Eure Hilfe.
Gruss Cédric
Hallo Cédric,
Schau mal, ob Dir dieses weiterhilft:
http://www.donkarl.com?FAQ4.13 (http://www.donkarl.com?FAQ4.13)
gruss ekkehard
Danke für den Tip Ekkehard, aber es funktioniert noch nicht ganz. Habe die Prozedur angepasst, aber nun fragt er mich jedes mal "Der Kunde ist neu. Möchten Sie ihn anlegen", auch wenn der Kunde bereits existiert.
Private Sub Combo24_AfterUpdate()
' Find the record that matches the control.
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[FixVendor] = '" & Me![Combo24] & "'"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
If MsgBox("Der Kunde ist neu. Möchten Sie ihn anlegen?", vbYesNo) = vbYes Then
Response = acDataErrContinue
DoCmd.OpenForm "frm_vendormailing_new", , , , acFormAdd
Forms!frm_vendormailing_new!NVendor = NewData
Else 'z.B. bei Tippfehler
Response = acDataErrContinue
Me!Combo24.Undo
End If
End Sub
N'abend,
der Code gehört nicht nach after update sondern nach NotInList
Harald
Hallo,
NotInList nutzt auch nichts, dann funktioniert das Suchen nicht. Genau genommen sollte man den Code auf 2 Ereignisse verteilen. Den oberen Teil (das Suchen) lassen (bis If Not ...).
Den unteren Teil (ab If MsgBox ,,,) nach NotInList verschieben.
Leider funktioniert es immer noch nicht, bzw passiert gar nichts wenn ich eine Kundennumer reinschreibe die nicht in der Combobox existiert. Ausser das er den Kunden anzeigt der am nächsten bei dieser Nummer steht. Habe übrigens beide Varianten (MzKlMu & Bahasu) probiert. Der Code sind nun folgendermassen aus:
Private Sub Combo24_AfterUpdate()
' Find the record that matches the control.
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[FixVendor] = '" & Me![Combo24] & "'"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
Private Sub Combo24_NotInList(NewData As String, Response As Integer)
If MsgBox("Der Kunde ist neu. Möchten Sie ihn anlegen?", vbYesNo) = vbYes Then
Response = acDataErrContinue
DoCmd.OpenForm "frm_vendormailing_new", , , , acFormAdd
Forms!frm_vendormailing_new!NVendor = NewData
Else 'z.B. bei Tippfehler
Response = acDataErrContinue
Me!Combo24.Undo
End If
End Sub
ZitatLeider funktioniert es immer noch nicht, bzw passiert gar nichts wenn ich eine Kundennumer reinschreibe die nicht in der Combobox existiert.
Ich interpretiere das mal so das wenn du eine nicht existierende Nummer eingibst erscheint nicht
MsgBox("Der Kunde ist neu. Möchten Sie ihn anlegen?", vbYesNo), sprich die Sub
NotInList wird nicht ausgeführt. Das passiert z.b. wenn die Eigenschaft "
Nur Listeneinträge" der Combobox auf
nein steht. Umschalten auf
Ja könnte ggf helfen.
Hallo,
vielleicht hilft Dir das Beispiel im Anhang weiter.
Harald
[Anhang gelöscht durch Administrator]
Wunderbar. Hat funktioniert. Hat am "Ja" im nur Listeneinträge gelegen. Vielen Dank.
Hallo Cédric,
Zitat aus gepostetem Link:
Zitat- setze die Eigenschaft Nur Listeneinträge auf Ja und
gruss ekkehard