Hallo zusammen,
als Access Rookie stehe ich vor einem Problemchen. Ich importiere eine Tabelle ins Access, deren Spalten, je nachdem, ob eine Information vorhanden ist oder nicht, leicht variabel sind. Das führt in einer Abfrage dazu, dass teilweise die falsche Spalte abgefragt wird, weil die Abfrage natürlich nicht flexibel ist. Ich würde gerne eine "Parameter-Tabelle" einbauen, die in der ersten Zeile stehen hat, um welches Feld es sich handelt und in der zweiten Zeile, wo sind das Feld befindet. Sprich, wie folgt:
Buchung Report 1 Buchung Report 2
[Report1].[Feld6] [Report2].[Feld8]
In den Abfragen würde ich dementsprechend gerne auf die Felder in der Tabelle referenzieren und nur noch da ändern möchten, wenn sich etwas ändert.
Hat jemand eine Idee? :) Vielen Dank vorab.
Eine Tabelle wie auch immer übergibt in eine Abfrage nur Inhalte und keine Feldnamen zur Abfragedefinition. Sackgasse.
Zitatin einer Abfrage ... dass teilweise die falsche Spalte abgefragt wird
Primär sollte man Struktursalat in der Tabelle selber aufräumen. Dann ist Flexibilität und Dynamik in Abfragen oft weit weniger nötig. Wer nicht aufgeräumt hat, muss suchen, oder anders herum.
Idealerweise würde der Ersteller der Exportdatei diese gleich so hervorbringen, dass sie unmittelbar und einfach verwendbar ist.
Praktikabilität vor "Schönheit".
Vielen Dank. Hilft mir aber nicht so wirklich weiter ...
Konkrete Hinweise würden auf konkreten und hinreichenden Informationen beruhen.
??
Was dann zusätzlich Dir hilft ...?
Hallo,
ZitatHilft mir aber nicht so wirklich weiter ...
Es hülfe Dir als "Rookie" am schnellsten weiter.
Als Übung: Referenztabelle erstellen, Formular erstellen zur Auswahl eines "Parameter"-DS, (Ereignis-)Prozedur in VBA schreiben, die entspr. der Auswahl die Spaltenfolge benutzt, um die Abfrage dynamisch zusammenzustellen und die weitere Aktionen durchführt.
Starre Zuordnungen kann man leicht über Spaltenaliase organisieren:
SELECT Report2.Feld8 AS Feld6 ...
Aber bei solchen Aufzählungsfeldern läuten gleich sehr viele Glocken ...