Hallo liebe Forumgemeinde,
im Rahmen einer Seminararbeit bastle ich gerade eine kleine Access-Datenbank für ein Reisebüro.
Nun habe ich ein Formular für die Kunden-Stammdaten-Eingabe erstellt. Durch Eingabe der PLZ soll automatisch der Ort ausgegeben werden.
=DomWert("[KD_Ort] ";"Orte";"[PL_PLZ]=" & "KD_PLZ")
Das ist glaub ich von der Syntax her richtig (Domain oder Tabelle Orte enthält Plz (PL_PLZ --> Primärschlüssel) mit entsprechenden Orten), da inzwischen auch nicht mehr Fehler steht, wenn ich die Formularansicht aufrufe.
Nur wenn ich jetzt eine Plz eingebe, erscheint nicht automatisch das Feld KD-Ort mit Text gefüllt. Muss ich noch irgendwas aktivieren oä?
Vielen Dank im Voraus.
Hallo,
und welchen Ort willst Du dann?
Eine PLZ ist nicht eindeutig und kann mehrere Orte umfassen, bist Du Dir dessen bewusst? Du benötigst daher einen extra Primärschlüssel (Autowert) in der PLZ Tabelle der statt der PLZ gespeichert wird. Und wenn Du das Ganze noch über eine Abfrage mit beiden Tabelle machst, geht Dein Vorhaben automatisch, ohne irgendeine Formel oder gar VBA.
Hi,
zusäztlich zur Bemerkung von Klaus halte ich die letzten " in
=DomWert("[KD_Ort] ";"Orte";"[PL_PLZ]=" & "KD_PLZ")
für falsch.
Wenn PL_PLZ eine Zahl ist:
=DomWert("[KD_Ort] ";"Orte";"[PL_PLZ]=" & KD_PLZ)
Wenn PL_PLZ ein String ist:
=DomWert("[KD_Ort] ";"Orte";"[PL_PLZ]='" & KD_PLZ & "'")
@MzKlMu: Danke für den Hinweis, aber dessen bin ich mir bewusst. Für die Aufgabe ist das aber nicht weiter schlimm und darf so gemacht werden. Wie meinst du das mit der Abfrage? Momentan ist es als Formular angelegt. Mit dem Formular sollen ja die Kundenstammdaten gepflegt werden können.
@bahasu: PL-PLZ ist als Zahl deklariert. Wenn ich deine =DomWert("[KD_Ort] ";"Orte";"[PL_PLZ]=" & KD_PLZ) verwende, kommt wieder Fehlermeldung im Feld KD_Ort, wenn ich eine PLZ eingebe :(
Hallo,
eine PLZ darf keine Zahl sein, da es PLZ mit führenden 0en gibt. PLZ ist Text.
Das Formular sollte auch auf einer Abfrage beruhen, mit beiden Tabellen und der Verknüpfung über die PLZ (Text!!!). Dann kannst Du auf Domwert ersatzlos verzichten. So macht man das mit einer Datenbank.
Domwert sollte in einer korrekt aufgebauten DB so gut wie nie notwendig sein.
Im Anhang ein einfaches Beispiel, alles automatisch, ohne VBA oder eine Formel. Und schon gar nicht Domwert.
Hm, ok, nur ist unsere Aufgabenstellung, ob sinnvoll oder nicht, leider so gestellt, dass wir es so lösen sollen, mit Formular und DomWert.
Hallo
IMH(orrible)O sind da Missverständnisse/Unklarheiten am Werk:
=DomWert([color=red]"Ort_Ort"[/color];"Orte";"[color=red][Ort_PLZ][/color] =" & [KD_PLZ])
wenn:
"Ort_Ort" das Feld in der Tabelle "Orte" (Datentyp TEXT) ist, das den Ortsnamen beinhaltet.
"Ort_PLZ" das Feldin der Tabelle "Orte" (Datentyp Zahl,Long) ist, das die (numerische, ist m.E auch ziemlicher Quatsch) Postleitzahl enthält.
"KD_PLZ" das Textfeld im Formular ist, mit dem die Postleitzahl angezeigt wird.
Lieber DF6GL,
das hat jetzt funktioniert (wenn auch leicht umgeändert, weil Felder anders heißen).