Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

ACCESS 2010 Abfrage mit als Suchformular

Begonnen von Schlambambomil, Januar 17, 2015, 19:52:08

⏪ vorheriges - nächstes ⏩

Schlambambomil

Guten Tag,
meine Frage betrifft das Thema Abfragen in Access 2010.
In eine DB werden mehrere Tabellen importiert. Alle Tabellen stehen im Hintergrund mit anderen Tabellen in Beziehung.
Aus einigen Feldern wird eine Abfrage erstellt, welche dann in ein Suchformular übergehen sollen.
Im Suchformular gibt es ein txt-Feld und eine cbx.
Beide werden entsprechend via Ausdrucks-Generator fest verbunden.
Soweit funktioniert auch alles, nur ....
Es befinden u. a. fünf Spalten in der Abfrage welche den gleichen Wert enthalten können.
Hintergrund, aus den importierten Tabellen (24) werden jeweils fünf gleiche Spalten übernommen. In den fünf Spalten können zwar max. nur 180 verschiedene Einträge erfolgen, jedoch ist die Reihenfolge nicht definierbar.
Soll heißen: Aus Tab1 kommen die fünf Felder in Reihenfolge =Apfel,Birne, Kirsche,Melone,Pflaume. Aus Tab2 kommen aber nur drei Einträge =Birne,Melone,Pflaume und aus Tab3 kommen Pflaume,Kiwi,Apfel.
Also wie zu sehen ist muss weder die Reihenfolge noch die Anzahl passen /stimmen.
Wie am Anfang beschrieben kann ich zwar via Ausducks-Generator eine Spalte auswählen und alle Einträge z.B. mit dem Inhalt Apfel werden angezeigt, möchte ich aber die anderen vier Spalten mit einbeziehen funktioniert es nicht mehr.

Meine Frage: Wie kann ich den Ausdrucks-Generator so umschreiben das nicht nur eine Spalte ausgelesen wird oder gibt es dafür einen ganz andere Variante?


Danke für die Hinweise schon einmal im Voraus!


MfG

MzKlMu

Hallo,
meine Antwort wird Dir nicht gefallen.

Wenn Du mit der DB vernünftig arbeiten willst, so solltest Du über eine normalisierte Struktur nachdenken.
Die Daten der 5 Felder müssen als jeweils als ein Datensatz in eine extra Tabelle mit einem Fremdschlüssel zu einem als Primärschlüssel (eindeutig über alle 24 Tabellen) geeigneten Feld und einem Fremdschlüssel zu einer der 24 Tabellen.
Diese Daten die zur Auswertung benötigt werden müssen am Schluss in einer Spalte stehen. In der neuen Tabelle hast Du dann max. 180 Datensätze.
Du benötigst als 24*5 (ja, 120) Anfügeabfragen die die Daten in die korrekte Struktur übernimmt. Der Aufruf der Abfragen kann automatisiert werden.
Man kann auch über die Erzeugung der Abfragen per VBA nachdeneken.

Sind das immer 24 Tabellen ?
Haben die alle die gleiche Struktur ?
Wie lassen sich die Daten der 24 Tabellen unterscheiden ?
Gruß Klaus

DF6GL

Hallo,

die Beschreibung und das Vorhaben ist recht unklar...

Ich verstehe zumindest den Zusammenhang nicht und auch nicht, was da gemacht wird...

Eine "Reihenfolge" gibt es in Access-Tabellen zunächst nicht, eine Sortierung nach bestimmten Feldern wird mit Hilfe der Abfrage(n) erreicht.


Zudem kann man den Ausdrucksgenerator nicht "umschreiben", der ist nur ein Hilfsmittel um eben einen"Ausdruck" zusammenzustellen, der syntaktisch (aber nicht logisch) korrekt wäre.

Es wäre sinnvoll, eine genaue(!) Beschreibung der Tabellen (Tabellenname, Tabellenfeldnamen, Datentypen) und der Daten zu geben, wie auch die Beschreibung der erwarteten Ergebnisse.

Alternativ könnte auch die vorher komprimierte/reparierte , evtl. datenreduzierte und gezippte Datei hier hochgeladen werden.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

ebs17

ZitatIn eine DB werden mehrere Tabellen importiert.

Bei einem Import darf man auch Strukturen ändern wie bereits angedeutet.
Rührei isst man ja auch ohne Kalkschalen und Pappumverpackung ...
Mit freundlichem Glück Auf!

Eberhard

Schlambambomil

Guten Tag MzKlMu,
leider bin ich erst jetzt zum lesen gekommen, Sorry!

Danke für Deine Antwort - konnte mir aber so etwas schon denken.
Habe eben nach einer anderen lösung gesucht!

Zu Deinen Fragen:
Ja, es sind immer 24 Tabellen
Ja, sie haben immer die gleiche Struktur
Für die letzte Frage muss ich ein bissl Abstrakt werden, da ich keine Interna weitergeben darf.
Es werden nur bestimme Spalten aus Excel eingelesen.
Alle anderen Werte wie Region, Ort, PLZ, Street usw. kommen aus normalisierten Tabellen.
Als Bspl. würde ich es gerne mit einem leckeren Käsekuchen versuchen  ;D
In allen 24 Tab (Regionen) darf es nur einen Käsekuchen geben. Der Käsekuchen kann in der Region aber an x-Orten angeboten werden. Der Unterschied ist aber- und jetzt kommt es - die 5 Spalten beinhalten hier in meinen Bspl. die Zutaten. Für die Region NRW z.B. Ei, Zucker, Mehl, Quark und Rosinen. In der Region BW sieht es so aus: Mehl, Quark, Zucker, Mehl - mehr nicht. Also in der ersten Region sind es fünf Zutaten und in der zweiten Region sind es vier Zutaten und die Bestückung der Spalteninhalte sind auch schon unterschiedlich. In der dritten Region Bln können die Zutaten gleich sein wie in der zweiten Region, jedoch ist die Reihenfolge wieder eine andere, usw.
In jeder Tabelle aus den Regionen gibt es zwischen 500 und 800 Datensätze.
Der Versuch immer in Spalte 1 als Bspl. die Zutat "Ei" zu schreiben scheitert nicht nur an dem Autor der Tabelle sondern auch daran, dass es nicht zwingend sein muss "Ei" als Zutat  für das Produkt zu haben.

Hoffe mein kurzer Ausflug in die Bäckerei konnte mein Anliegen etwas erklären.

In der Hoffnung Du hast noch eine Idee,

mfG

S

MzKlMu

Hallo,
auch nach Deinen neuen Ausführungen ist meiner Antwort nichts hinzuzufügen.
Du musst die Zutaten aus jeder Tabelle auslesen und in einer Anfügeabfrage jede Zutat in eine Spalte schreiben, mit einem (oder 2) Schlüsselfeld(er) das die Datenherkunft (welche der 24 Tabellen kennzeichnet.
Du hast als am Schluss eine Tabelle mit den Schlüsselfeldern und eine Spalte für die Ztat, je ein Datensatz.
Gruß Klaus