Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Datensatzsuche nach Eingabe in einem Feld

Begonnen von mikikado, September 28, 2012, 13:32:03

⏪ vorheriges - nächstes ⏩

mikikado

Hallo Liebe Forumler,

ich sitze auf der Leitung - irgendwie....

Folgende Problemstellung.... Ich habe eine Tabelle mit der ich Daten von neuen Kunden eingebe. Ich möchte zunächst eine Kundennumer eingeben. Falls vorhanden, dann soll eine Meldung erscheinen "Kundennummer Vorhanden" und die Daten des Kunden angezeigt werden. Falls Kundennummer nicht vorhanden, dann soll ein Formular erscheinen in der ich den Nachname und Vornamen plus Geburtsdatum eingebe.. Falls dieser Datensatz vorhanden ist, dann soll ein Hinweis + Datensatz angezeigt werden. Falls dieser Datensatz nicht der richtige ist, dann soll die Möglichkeit zur Auswahl "Neuanlage" möglich sein.

Wie ich die Anzeigen und Formulare erstelle ist nicht mein Problem. Wie stelle ich es an, dass Access die Datensätze nach Eingabe im Formular (kundennummer) sucht und bei "Nicht vorhanden" "Hinweis" anzeigt und den nächsten Schritt machen zu lassen (Anzeige "Suchformular"). Und eben nach Eingabe der Daten Name+Geburtsdatum - > Suche -> Anzeige Datensatz (mit option "Weitersuchen"oder "Nicht vorhanden" und Eingabe im "Kundendaten_NeuEingabe!

Irgendwie sitze ich komplett auf der Leitung.

Im moment, wenn ich die "Kundennummer" Eingebe will der andauernd von mir die Postleitzahl haben obwohl ich gar nicht "Suche nach PLZ" eingegeben habe.

Tabellen bezeichnung: Kundendaten
Formularbezeichnung: Kundendaten_NeuEingabe

Ich hoffe, dass ihr mir einen Schubser geben könnt. (Gerne auch VBA!!)

Lg
Michael

DF6GL

Hallo,


"Ich habe eine Tabelle mit der ich Daten von neuen Kunden eingebe."  Ich hoffe, Du meinst es anders, als es hier geschrieben steht..   :o




Du solltest als erstes die Formular-Ablaufsteuerung überdenken... Ich finde die ziemlich umständlich...



Benutz einfach ein Formular und gib dort neue Daten ein.   Beim Ereignis "Vor Aktualisierung" prüfst Du, ob die Daten (Adresse) schon vorhanden ist; Wenn ja, positionierst Du das Form auf den vorhandenen DS, wenn nicht, wird die Adresse eh gespeichert.


"will der andauernd von mir die Postleitzahl haben"   dürfte auf so einer Plausi-Prüfung beruhen...  oder in der Tabelle ist das Feld als eingabepflichtig deklariert.


"gar nicht "Suche nach PLZ" eingegeben "   was hat das mit der Dateneingabe und -prüfung zu tun?

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

mikikado

Vielen Dank für die Antwort!

Möglicherweise habe ich mich etwas falsch ausgerückt....

Ich möchte verhindern, dass ich "Eingaben" mache die bereits vorhanden sind. Also ist doch die Prüfung im Vorfeld sinnvoller (in meinen Augen!)

Ich habe ein Formular! Kundendaten_NeuEingabe... Hier gebe ich zuerst "Kundennummer" ein. Jetzt möchte ich Access veranlasse nach dieser Kundennummer zu suchen.....
Wenn gefunden dann Soll "Kunde vorhanden mit folgenden Daten: ......." erscheinen....
Wenn nicht vorhanden dann im "Kundendateneingabe" Vornamen eingeben, nachnamen eingeben und geburtsdatum... soll eine "Suche" starten... Wenn Kundendaten vorhanden dann soll ein Formular erscheinen "Kunde mit folgenden Daten vorhanden..." Richtiger Kunde? bei nein weitersuchen.... Wenn keine weiteren Kunden vorhanden sind dann soll weitere Eingabe der Kundendaten möglich sein.

Ich weiß nicht wo ich ansetzen soll und als VBA Code umsetze..... Die Beispiele im Netz kann ich irgendwie nicht in mein PRojekt umsetzen. "Such Vorlagen" gibt es ja... aber nicht so wie ich es machen möchte... Ich möchte nicht explizit ein Formular öffnen um in diesem "Suchbegriff" einzugeben.

Ich hoffe ich konnte meine Problemstellung erklären....

Für Eure Antworten besten Dank im Voraus.
Lg

Michael

DF6GL

Hallo,


naja, ich denke, das Meiste brauchst Du nicht...


Ich habe ein Formular! Kundendaten_NeuEingabe...

Warum ein separates Form für die Neu-Eingabe?

Mach einfach ein Form mit Basis zur Tabelle.



Im Form eine Schaltfläche "Neuer Kunde" für die Umschaltung in den Eingabemodus (Anzeige eines neuen leeren Datensatzes):


Sub btnNeuKunde_Click()
Docmd.GotoRecord ,, acNewRec
End Sub


Sodann bei "Vor Aktualisierung" des Feldes "Kundennummer"



Sub Kundennummer_BeforeUpdate(Cancel as Integer)
Dim KDNR as Variant
If Dcount("*","tblKunden","Kundennummer =" & Me!Kundennummer )  >0 Then ' Vorausgesetzt, Kundennummer in der Tabelle hat Datentyp Zahl, Long. Bei Text heißt es wie folgt

'If Dcount("*","tblKunden","Kundennummer ='" & Me!Kundennummer & "'")  > 0 Then    ' bei Text

KDNR= Me!Kundennummer
Msgbox "Kundennummer " & Me! Kundennummer & " gibt es schon"
Cancel =true
Me.Undo

Me.Filter="Kundennummer =" & KDNR  ' auch hier die Hochkommata im Fall von Text beachten!
Me.FilterOn=true      'Hiermit wir der vorhandene Kunde im Form angezeigt.
End If



Gibt's die Kundennummer noch nicht, passiert auch weiter nichts und es können die restlichen Daten eingegeben werden.  Mit erneutem Klick auf die Schaltfläche erfogt die Eingabe einer weiteren (neuen) Kundennummer.



Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access