Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Über Textfeld im Formularkopf zu Datensatz springen

Begonnen von Paule, April 04, 2016, 15:14:50

⏪ vorheriges - nächstes ⏩

Paule

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

MaggieMay

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.
Freundliche Grüße
MaggieMay

Paule

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?

MaggieMay

Hi,

wenn es mehr als einen Kunden mit demselben Namen gibt, wird der erste davon angezeigt. Mit .FindNext könnte dann weitergesucht werden.
Freundliche Grüße
MaggieMay

MzKlMu

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.
Gruß Klaus

Paule

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.  :)