Form_K ( z.B. Kunden) hat U_Fo_A (z.B. Lieferanten). Hier werden deren Namen und Adressen eingegeben, PK ist Autowert.Wie kann man im Form_K, neben dem U_Fo eine Suchmöglichkeit einrichten, die
1. prüft, ob der aktuell einzugebende Lieferant, z.B. "Meier, Karl" schon in Tab_A steht (Angezeigt werden soll L_Name, L_Vorname, L_Nr)
2. ist der Name schon drin, diese L_Nr zu dem aktuellen Kunden zuordnet, also ins U_Fo_A, Form_K und somit in die Tab_A und Tab_K
3. Existiert der Lieferant noch nicht, möchte ich ihn eingeben können ins U_Fo_A, also ein neuer Autowert erzeugt, ein neuer DS angelegt werden
Vielen Dank für eure Hilfe
Du könntest die L-Nummer im UFo in einem Kombifeld darstellen - besonders dann, wenn ein Lieferant NUR eine einzige Lieferantennummer haben KANN.
Mittels des Ereignisses 'Bei NichtInListe' kannst du einen neuen Datensatz erzeugen.
Siehe dazu in der OH und hier ... http://support.microsoft.com/kb/197526/de (http://support.microsoft.com/kb/197526/de)
und http://www.donkarl.com?FAQ4.13 (http://www.donkarl.com?FAQ4.13)
danke, ich versuchs mal. Das größte Problem, scheint mir, dass ich nicht nach der
dass ich nicht nach der Nr suchen möchte, die Primärschlüssel ist, sondern nach Vor und Nachnamen des Lieferanten, die keine Verknüpfung zum Hauptformular haben. Es kommen täglich "Kunden" neu in die Datenbank, die können, müssen aber nicht, einen schon bekannten "Lieferanten" haben. Aso können auch immer wieder neue "Lieferanten" dazu kommen. Die ganzen Nummern kann sich keiner merken, daher möchte ich zunächst nach Nachname und Vorname suchen. Gibt es den "Lieferanten", dann hat er einen Datensatz mit Nr. Mit diesem angewählten Datensatz soll sich durch die Anwahl meiner Vorstellung nach, dann das Formular Lieferanten füllen. Gibt es den Lieferanten noch nicht, möchte ich ihn natürlich eingeben.
Ich hatte schon ein Dropdown Feld, um zu suchen, doch dauert es einfach zu lange
Hallo,
ich war der Annahme, dass die LieferantenNummer (L_Nr) eine frei vergebene Nummer ist ... OK,
dann lässt sich das auch mit den Namen lösen.
in der Datenherkunft für das Kombifeld fasst du in dem Fall Nachname und Vorname sowie die Lieferantennummer zusammen ...
In etwa so:
SELECT L_Name & ", " & L_Vorname & ", " & L_Nr FROM Tab_A Order By L_Name
Beim Kombi ist 'Autovervollständigen' einzustellen damit beim Eingeben des Namens automatisch nach Entsprechungen gesucht und diese auch angezeigt werden.
Über das Ereignis 'Bei NichtInListe' das eintreten wird, wenn keine Entsprechung gefunden wird sollte es dann gelingen dein Vorhaben zu bewerkstelligen.
Allerdings wird's schwierig, wenn du 2 Lieferanten mit dem Namen Maier Karl in deiner Tabelle hast oder zum ersten Maier Karl noch ein zweiter
hinzukommen soll - was ja nicht kategorisch auszuschließen sein wird - aus dem Grund habe ich im obigen Statement auch die L_Nr verpackt.
Gerade habe ich es noch einmal alles ausprobiert, leider ohne gewünschten Erfolg
Habe in dem Hauptformular (F_Kunden) jetzt den Nachnamen des Lieferanten als ungebundenes Kombifeld und als Datensatzherkunft den von dir angegebenen Code
SELECT L_Name & ", " & L_Vorname & ", " & L_Nr FROM T_Lieferanten Order By L_Name
und bei nicht in Liste
Private Sub L_Name_NotInList(NewData As String, Response As Integer)
Response = acDataErrAdded
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("T_Lieferanten", dbOpenDynaset)
rs.AddNew
rs!L_Name = NewData
rs.Update
rs.Close: Set rs = Nothing
Set db = Nothing
End Sub
Das Problem ist folgendes:
Ist der Lieferant bekannt und wurde der Name gefunden, wird er nicht in das U-Form (F_Lieferanten) geschrieben. Wegen der Autonr kann ich nichts in das Zahlfeld (Primärschlüssel) eingeben
Habe ich das Namensfeld in F_Lieferanten als Kombifeld und einen neuen "Kunden" , der wiederum auch noch einen neuen "Lieferanten" hat möchte ich einen neuen Datensatz anlegen. Ich überlege, ein extra Formular dafür zu machen, mit 1 Feld ,,Lieferant suchen", 1 Feld ,,Lieferant neu eingeben", damit das Programm auch begreift, wenn ich in einem Feld die Zusammenfassung dreier Felder habe, was es machen soll, aber stelle mir das einfach zu aufwendig für die Eingabe vor. Gibt es nicht eine einfachere Möglichkeit? So nach dem Motto, ich tippe die ersten Buchstaben ein, wie in dem jetzigen Feld und mir werden die in der Tabelle befindlichen Namen angezeigt, nur, bitte übernimm den ausgewählten Datensatz dann auch für diesen neuen Kunden oder aber lass mich einen Namen eintippen, dann ins nächste Feld den Vornamen, Anrede, Adresse, wie gewohnt, lege also bitte einen neuen Datensatz an
Hallo,
eine der möglichen Möglichkeiten findest du im Anhang.
Achtung nicht gelöst ist die Erfassung eines neuen 'Kunden' im Beispielformular!
Wenn du also einen neuen Datensatz im HaFo anlegst und einen Lieferanten wählst schepperts!