Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: snoergel am Juni 19, 2014, 17:58:15

Titel: DOMWERT --> Textfeld automatisch nach Eingabe füllen
Beitrag von: snoergel am Juni 19, 2014, 17:58:15
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.
Titel: Re: DOMWERT --> Textfeld automatisch nach Eingabe füllen
Beitrag von: MzKlMu am Juni 19, 2014, 18:30:23
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.
Titel: Re: DOMWERT --> Textfeld automatisch nach Eingabe füllen
Beitrag von: bahasu am Juni 19, 2014, 19:58:59
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 & "'")
Titel: Re: DOMWERT --> Textfeld automatisch nach Eingabe füllen
Beitrag von: snoergel am Juni 23, 2014, 10:48:25
@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 :(


Titel: Re: DOMWERT --> Textfeld automatisch nach Eingabe füllen
Beitrag von: MzKlMu am Juni 23, 2014, 10:54:52
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.
Titel: Re: DOMWERT --> Textfeld automatisch nach Eingabe füllen
Beitrag von: snoergel am Juni 23, 2014, 11:04:33
Hm, ok, nur ist unsere Aufgabenstellung, ob sinnvoll oder nicht, leider so gestellt, dass wir es so lösen sollen, mit Formular und DomWert.
Titel: Re: DOMWERT --> Textfeld automatisch nach Eingabe füllen
Beitrag von: DF6GL am Juni 23, 2014, 18:26:14
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.

Titel: Re: DOMWERT --> Textfeld automatisch nach Eingabe füllen
Beitrag von: snoergel am Juni 26, 2014, 13:27:51
Lieber DF6GL,

das hat jetzt funktioniert (wenn auch leicht umgeändert, weil Felder anders heißen).