Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Feldwert ermitteln mittels VBA / Feld in Acces ausgeben

Begonnen von PNoble, Februar 26, 2017, 20:33:27

⏪ vorheriges - nächstes ⏩

PNoble

Hallo,

leider habe ich von VBA k.A. - bilde mir aber ein, dass mein Vorhaben am einfachsten mit VBA umzusetzen ist  :o

Ich habe eine Access DB, darin einige Tabellen und mittels eines Queries kreiere ich eine Liste, die einen Teil der Felder aus den Tabellen ausgibt.
Für ein Feld muss ich den Inhalt erst ermitteln; dieser ergibt sich aus dem Inhalt anderer Felder und zwar wie folgt.

Wenn Tabelle1.Feld1 = True
dann NeuesFeld = ABC
Wenn Tabelle1.Feld2 = True
dann NeuesFeld = DEF
Wenn Tabelle1.Feld3 = True
dann NeuesFeld = GHI
Wenn Tabelle1.Feld4 = True
dann NeuesFeld = JKL

Es kann immer nur Feld1 oder Feld2 oder Feld3 oder Feld4 'True' sein, niemals sind 2, 3 oder alle Felder 'True', wenn keines 'True' ist, dann bleibt NeuesFeld leer.

Das Feld 'NeuesFeld' möchte ich dann in meiner Access Query mit ausgeben.

Nochmals sorry, bei mir muss man VBA-technisch beim Urschleim anfangen.

Danke im Voraus
PNoble

MzKlMu

Hallo,
Du solltest wirklich beim Urschleim anfangen, aber nicht bei VBA, sondern bei Datenbanken.
Solche Konstruktionen sind so gut wie immer eine Hinweis auf ein falsches Datenmodell.
ZitatEs kann immer nur Feld1 oder Feld2 oder Feld3 oder Feld4 'True' sein
Dann  genügt eine einzigen Spalte deren Wert (1-4) den Inhalt repräsentiert.
Im Formular mit einer Optionsgruppe zur Auswahl ist automatisch immer nur ein Wert wählbar.

Erkläre das Vorhaben mal mit realen Daten, damit man da gezielter was raten kann.
Gruß Klaus

PNoble

Hallo,

am Datenmodell kann ich nichts ändern; diese Tabelle habe ich so bekommen und auf ihre Eigenschaften habe ich keinen Einfluss. Ich muss die Daten nun so aufbereiten, dass ich am Ende eine entsprechende Liste habe.

Die Tabelle enthält unter anderem das Feld1, Feld2, Feld3 und Feld4. Diese Felder haben den Datentyp "Yes/No" bzw. sind entweder True oder False.

Das Feld bzw. die Expression "NeuesFeld" soll dann den entsprechenden Wert haben, je nachdem, welches der 4 Felder (Feld1-Feld4) auf True steht.

Danke.

Lachtaube

Dann mach das doch so, wie im Eingangspost und halte Dich an die Syntax-Regel der Wenn (IIf)-Funktion. Im Abfrageentwurf:DeinAliasName: Wenn([Feld1];"ABC";Wenn([Feld2];"DEF";Wenn([Feld3];"GHI";Wenn([Feld4];"JKL"))))
Grüße von der (⌒▽⌒)