Wert aus Listenfeld

Hallo,

suche nun schon lange Hilfe, um einen Wert aus einem Listenfeld in ein Textfeld zu schreiben.
Der Wert wird aus einer Abfrage selektiert und in ein Listenfeld geschrieben.
Anschließnd soll der Wert gleich in das Textfeld übergeben werden, damit ich diesen an eine tabelle als neuen datensatz mit anderen Textfeldeingaben speichern kann.

Wie muss ich vorgehen.

Danke Enrico

Sorry Enrico, hab mir das jetzt bestimmt 5 Mal durchgelesen,
ich weiss nicht was Du meinst. Du schreibst einen Wert in ein
Listenfeld. Wenn es nur ein Wert ist wozu dann das Listenfeld?
Danach in ein Textfeld und dann willst Du damit eine Tabelle
erzeugen… Warum erzeugst Du dann nicht gleich die Tabelle?
Ist bestimmt einfach, bisschen genauer erklären vielleicht…
oder ich bin zu müde und raff nix mehr :wink:

LG Alex

Hallo Alex,

ich versuche es nochmal zu beschreiben mein Problem.

Ich habe eine Datenbank mit mehreren Tabellen die in Beziehung stehen.
In der Tabelle Flurstück habe ich 5 Spalten.
In dieser Tabelle möchte ich neue Datensätze anfügen.
Dazu habe ich ein Formular.
3 Spalten werden über Textfelder im Formular interaktiv gefüllt.
Die anderen 2 Spalten sind ID’s aus anderen Tabellen, die ich brauche zwecks ZUweisung der Beziehungen.
Um diese beiden ID’s zubekommen, habe ich eine dynamische Abfrage über Kombifelder im Formular programmiert.
Diese beiden ID’s werden in die besagten Listenfelder geschrieben, da ich sie nicht in Textfelder schreiben lassen kann.

Nun möchte ich, bevor ich den befehl SPEICHERN ausführe, der den Neuen Datensatz in die Tabelle Flurstück anfügen soll, dass die ID’s (Werte) aus den beiden Listenfeldern in jeweils ein Textfeld geschrieben wird.

Was bisher funktioniert.
Ausgabe der ID’s in Listenfeld.
Ich muss die Listenfelder markieren, dann werden beim SPEICHERN auch die ID’s angefügt.

Was nicht funktioniert.
Die ID’s gleich in ein Textfeld schreiben lassen.
Die Werte aus den Listenfeldern in Textfelder übergeben.

Ich hoffe diesmal war es verständlicher und Du kannst mir helfen.

gruß enrico

Hi Enrico,

Ah, jetzt ist alles klar… also ich sag Dir mal wie
das bei Access 2007 geht, Du machst Dir nämlich Stress
wo garkeiner ist.

Dieser von Dir beschriebene Fall kommt ja quasi ständig vor,
war nur unglücklich formuliert (lol oder ich war zu müde),
darauf baut ja im Prinzip jede Datenbank auf.

… und da es nunmal so essentiell ist, erledigt Access das
einfach für Dich.

Also so äußert sich das dann: ich öffne die

Tabelle Auftrag
ID, AuftrNr, Kunde, Lieferant
1,1001,„Hempelmann“,„Bachstein“

Ich klicke auf Bachstein wähle aus dem Listenfeld den
Namen „Maier“ und gehe eine Zeile tiefer damit Access den
Datensatz (das Dynaset) wegschreibt.

Jetzt öffne ich die Tabelle Auftrag im Entwurfsmodus:
ID: (autowert) primary key
AID: Text 10
so jetzt der Teil der Dich interessiert:
Kunde: Zahl (!)
Lieferant: Zahl (!)

Somit hat sich also Deine Bastelei erledigt. Du brauchst
in der gesamten Datenbank einfach GARNICHTS zu machen, weder
bei manuellen Eingaben in die Tabelle oder Abfrage direkt,
noch in Formularen. Überall wird Kunde und Lieferant als Text
bzw. Listenfeld angezeigt, steht aber tatsächlich als Zahl in
der Tabelle (Ausnahmen SQL-Statements).

Ich habe also z.B. eine Tabelle Kunden:
ID: Long
Name: Text 40

sowie die Tabelle Auftrag wie oben beschrieben.

Unter Menü Datenbank-Tools -> Beziehungen

Dort die beiden Tabellen also Auftrag und Kunden reinziehen.
Dann verbindest Du einfach die ID von Kunden mit dem Zahlenfeld
Kunde in Auftrag. Gleiches natürlich mit ID in Lieferant und dem Zahlenfeld Lieferant in Auftrag. Der fragt Dich beim Verknüpfen
nach der Beziehung, klar das ist dann „Kunden 1:n Auftrag“.
Das war alles. Nicht mal 2 Minuten Arbeit.

Viel Spass,

Alex

ich vergass zu erwähnen, dass Access dabei mittels
einem SQL Suchstring definiert, welche Felder in
der angezeigten combo/listbox angezeigt werden…

Das kann man natürlich auch von Hand nachbearbeiten
bzw selbst dort erzeugen. Im Entwurf z.B. von Auftrag
auf Kunde (eben das Zahlenfeld wofür die combobox
erscheinen soll), dann unten auf den Reiter Nachschlagen.
Da Kombinationsfeld auswählen, unter Datenherkunft mit
dem Abfragegenerator die benötigten Felder auswählen
(auf jeden Fall die ID und irgendwas passendes dazu,
können auch mehrere Felder sein)
Unter Spaltenzahl eben die Spalten eintragen die angezeigt
werden sollen. Unter Spaltenbreite die Breiten eintragen,
z.B. 0cm;3cm die 0cm bewirken, dass die ID nicht angezeigt
wird. Wenn man nur eine Listbox möchte, trotzdem bei der
Combobox die Parameter einstellen und danach auf Listbox
stellen, da man die gesamtbreite der Listbox nur hier
einstellen kann.

LG

Alex