Hallo,
ich habe ein Formular zum Hinzufügen von neuen Kunden.
Unter anderem gebe ich dort den Namen des Kunden ein und bekomme die CustomerID als PK und AutoWert.
Dieses Formular heißt "SA_CustomerF".
Nun möchte ich im Formularkopf ein Textfeld einfügen "txtSearchCustomerID".
In dieses möchte ich dann eine Kundennummer eingeben. Mit dieser Kundennummer soll er dann zu diesem Datensatz im Formular springen.
Dies müsste ich dann wohl mit dem Ereignis "Nach Aktualisierung" bei dem Textfeld realisieren?
Wie müsste denn der Code aussehen?
Das entsprechende Feld heißt "txtCustomerID". Darauf muss sich dann das "Such-Textfeld" im Formularkopf ("txtSearchCustomerID") beziehen.
Könnt ihr mir weiterhelfen?
Grüße,
Marcus
Hallo,
mit einem Kombifeld, das die tatsächlich vorhandenen IDs zur Auswahl anbietet, ginge das komfortabler.
Allerdings frage ich mich gerade, wozu man in einem Erfassungsformular eine Suchfunktion braucht:
Zitatich habe ein Formular zum Hinzufügen von neuen Kunden.
;)
Aber wie auch immer, so sollte das wohl funktionieren:
Me.Recordset.FindFirst "txtCustomerID = '" & Me!txtSearchCustomerID & "'"sofern "txtCustomerID" der Name des zu durchsuchenden
Datenfeldes ist.
Handelt es sich um eine Zahl, lässt du die Hochkommata weg.
Ja, ich weiß, es ist etwas ungewöhnlich, aber mir hilft es beim Bearbeiten von Kundendaten perspektivisch sehr weiter.
Jedenfalls hat das wunderbar geklappt. DANKE!
Ich habe jetzt noch eine Erweiterung gemacht, sodass ich auch noch ein Textfeld hinzugefügt habe, mit dem ich nach dem Namen suchen kann.
Der Code dafür sieht so aus:
Private Sub SearchCustomerName_AfterUpdate()
Me.Recordset.FindFirst "CustomerName = '" & Me!SearchCustomerName & "'"
End Sub
Auch das klappt, sofern ich den kompletten Namen des Kunden richtig eingebe.
Was würde eigentlich passieren, wenn ich zwei Kunden mit demselben Namen habe?
Hi,
wenn es mehr als einen Kunden mit demselben Namen gibt, wird der erste davon angezeigt. Mit .FindNext könnte dann weitergesucht werden.
Hallo,
ZitatWas würde eigentlich passieren, wenn ich zwei Kunden mit demselben Namen habe?
dann muss sich aber mindestens der Primärschlüssel unterscheiden.
In einem solchen Fall verwendet man auch nicht ein Textfeld zur Suche, sondern ein Kombinationsfeld das alle Kunden zur Auswahl anbietet (wie bereits vorgeschlagen). Ein Kombi schließt auch Tippfehler aus.
Und dann erfolgt die Suche nie über den Namen, sondern über den Primärschlüssel. Den man aber nicht kennen muss. Der PS wird im Kombi ausgeblendet und der Name angezeigt über den man auch sucht. Aber im Hintergrund wird der PS verwendet.
Alles klar, vielen Dank!
Ich werde es erstmal bei der Suche nach dem PK belassen.
DIe Kunden bzw. Vertragsnummer hat der Kunde und damit kann ich dann auch einfach suchen.
Ganz vielen Dank nochmal. :)