Neuigkeiten:

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

Mobiles Hauptmenü

Aus Abfrage zweite Spalte eines Kombinationsfeldes exportieren

Begonnen von Trugall, Mai 02, 2014, 21:18:31

⏪ vorheriges - nächstes ⏩

Trugall

Hallo zusammen,

in meinem Beispiel greife ich in einer Abfrage auf die Tabelle "tblErfassung" zu:
SELECT tblErfassung.erfID, tblErfassung.erfName, tblErfassung.erfFarbeIDRef
FROM tblErfassung;


[erfFarbeIDRef] ist in der Tabelle tblErfassung als Kombinationsfeld mit einer Werteliste verknüpft:





farbeIDfarbeName
1Grün
2Rot
3Gelb
Die erste Spalte ist der PrimaryKey.

Wenn ich in der Abfrage die Spaltenbreiten des Feldes [erfFarbeIDRef] auf 0cm;3cm einstelle, bekomme ich natürlich auch die 2. Spalte angezeigt.
Wie bekomme ich es aber hin, die Abfrage über Externe Daten->Exportieren->Textdatei in eine csv-Datei zu exportieren und die 2. Spalte aus [erfFarbeIDRef] auszugeben?

Aktuell sieht das Ergebnis des Exports so aus:
"erfID";"erfName";"erfFarbeIDRef"
1;"Apfel";2
2;"Birne";1
3;"Pfirsich";3


Der sollte aber so ausschauen:
"erfID";"erfName";"erfFarbeIDRef"
1;"Apfel";"Rot"
2;"Birne";"Grün"
3;"Pfirsich";"Gelb"


Wenn ich das ganze formatiert exportieren lasse, wird die 2. Spalte ausgegeben. Dann kann ich aber keine Semikolon-Trennung einstellen.

Habt ihr einen Rat für mich?

Vielen Dank vorab für Eure Hilfe!

Gruß
Trugall

MzKlMu

#1
Hallo,
Werteleisten sind Krampf, ebenso die Nachschlagefelder auf Tabellenebene. Erstelle statt der Werteliste eine Tabelle. Erstelle dann eine Abfrage mit beiden Tabellen und der Verknüpfung über die Schlüsselfelder und exportiere die Abfrage.

PS:
Nachschlagefelder in Tabellen sind von Übel und unbedingt zu vermeiden. Wirf sie wieder raus. Und was ich von Wertelisten halte, steht ja schon oben. Solche Sachen verhindern den sauberen Aufbau einer DB.
Das erste Problem hast Du ja gerade.

Nachtrag:
Anbei noch ein schnelles Beispiel. Ich habe die Tabelle für die Farben erstellt und im Beziehungsfenster Beziehungen angelegt (bitte ansehen). Dann gibt es ein Formular, in dem man natürlich Nachschlagefelder (=Kombifelder) verwenden kann, die sind nur in Tabellen tabu.
Dann gibt es noch die Abfrage zum Export die, die Daten wie gewünscht aufbereitet. DB anbei.

Zu den Nachschlagefeldern:
Die_Nachteile_von_Nachschlagefeldern
Gruß Klaus

Trugall

Hallo,

vielen Dank!
So funktioniert es!  :)

In der Zwischenzeit hatte ich noch einen anderen Workaround gefunden.
Wenn ich die Abrage auf beide Tabellen "tblErfassung" und "tblFarben" beziehe, aus tblErfassung [erfID] und [erfNamen] abfrage und aus tblFarben [farbeNamen] abfrage und durch [erfFarbeIDRef] filtern lasse, komme ich auch zu dem gewünschten Ergebnis:
SELECT tblErfassung.erfID, tblErfassung.erfName, tblFarbe.farbeName
FROM tblFarbe INNER JOIN tblErfassung ON tblFarbe.farbeID = tblErfassung.erfFarbeIDRef
WHERE (([farbeID]=[erfFarbeIDRef]));

Vorausgesetzt natürlich das Feld in der Abfrage ist nun ein Textfeld.

Dein Ansatz ist aber sauberer, da die Ursache damit behoben ist.

Vielen Dank nochmal

Gruß
Trugall

[/closed]