Neuigkeiten:

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

Mobiles Hauptmenü

mehrere Abfragen in einer Zusammenführen

Begonnen von uwe01, August 14, 2019, 20:24:00

⏪ vorheriges - nächstes ⏩

uwe01

Hallo Leute,
Ich habe da Mal ein Problemchen.
Kann man eigentlich drei unterschiedliche Abfragen in einer Abfrage zusammen führen, und wenn ja wie wird das den gemacht.
Denn ich möchte aus der zusammengeführte Abfrage ein Formular machen.
Gruß Uwe01
Gruß Uwe01
Win 10, Access 2002/2013
Bitte um Verständliche Antworten !

DF6GL

Hallo,

was verstehst Du unter "unterschiedlich"?

Mit "Union"  können Werte (Datensätze) aus verschiedenen Tabellen zusammengeführt werden, wobei die Select-Liste bei allen Tabellen überein stimmen muss. Eine Union-Abfrage ist nicht aktualisierbar.

Solche Vorhaben deuten auf nicht stimmiges Tabellenmodell hin.
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

Zitatzusammen führen
Irgendwie geht das immer. Ein CROSS JOIN leistet das zuverlässig:
SELECT A.*, B.*, C.*
FROM A, B, C

Wenn das Ergebnis aber auch inhaltlich Sinn machen soll, müsste man die Strukturen der Abfragen wie auch die gewünschte Struktur der Zielabfrage kennen, dann meist auch mit Datenunterlegung.
Rate mal, was dazu notwendig wäre ...
Mit freundlichem Glück Auf!

Eberhard

uwe01

Hallo,
@DF6GL danke für deine Antwort aber ich weiß nicht wie Union bei Abfragen funktioniert, vielleicht kannst du es etwas genauer beschreiben.
@ebs17 Danke dir auch für deine Antwort aber was ist den jetzt schon wieder Cross Join?
Ich werde Mal versuchen am WE eine Muster DB einzustellen zur besseren Übersicht ☺.
Gruß uwe01
Gruß Uwe01
Win 10, Access 2002/2013
Bitte um Verständliche Antworten !

MzKlMu

Hallo,
ZitatIch werde Mal versuchen am WE eine Muster DB einzustellen ...
ja, das mach mal. Aus Deinen bisherigen Beiträgen lässt sich kein Lösungsvorschlag ableiten.
Man müsste mindestens mal die 3 Abfragen (SQL) sehen.
Gruß Klaus

ebs17

ZitatBitte um Verständliche Antworten, bin noch Einsteiger !!!
Ein gegebenes Stichwort kann man schnell mal eigenrecherchieren (Internet, Bücher) und einen Tipp auch einfach mal ausprobieren, damit man vom Sehen dann erkennen kann, worüber man nachdenken kann.

So würden es dann auch Fortgeschrittene machen (statt in der Hängematte abzuwarten) ...
Mit freundlichem Glück Auf!

Eberhard

uwe01

Hallo Leute,
ich soll in der Firma eine DB für Flurfahrzeuge erstellen, und da habe ich jetzt ein Problem die drei
Abfragen in einer Abfrage erstellen.
Warum?
Ich will Formulare erstellen das wenn zb eine Batterie erneuert wird setzt der Mechaniker die alte Batterie als Verschrottet und gibt die neue ein. Und es soll über der Internen Nummer gesucht werden. Und damit man sich auch eine Excel Liste erstellen kann benötige ich eine Komplette Abfrage.
Ich hoffe das Vorhaben so einiger maßen erklärt zu haben. Die DB soll natürlich auch noch andere
Tabellen usw erhalten.

Gruß Uwe01
Gruß Uwe01
Win 10, Access 2002/2013
Bitte um Verständliche Antworten !

MzKlMu

#7
Hallo,
Deine Ausführungen sind immer noch wenig hilfreich.
Was soll denn die komplette Abfrage beinhalten?

Und wozu wird hier noch Excel benötigt ?
Für eine Liste braucht man doch kein Excel.

PS:
Warum in aller Welt nennt man seine DB Test ?
Könnte man die nicht einfach Flurfahrzeuge nennen ?
Test erfordert jedes mal ein Umbenennen in einen vernünftigen Namen wenn man die DB herunter läd.
Gruß Klaus

uwe01

Hallo Mzkimu,
Die komplette Abfrage soll alles das bieten was die drei Abfragen bieten. Der Sinn ist das man eine gesamte Übersicht über die Geräte hat. Wenn man nach interner Nummer sucht soll halt alles angezeigt werden was dazu gehört.
Denn Export nach Excel möchte ich nur machen für den Fall daß der Monteur sich eine Excel Tabelle machen möchte.
Und den Namen Test habe ich jetzt nur so gewählt 😀
@ebs17
Ich habe auch schon etliches versucht, aber ohne Erfolg.
Gruß Uwe01
Gruß Uwe01
Win 10, Access 2002/2013
Bitte um Verständliche Antworten !

MzKlMu

Hallo,
erstelle doch einfach mal eine Abfrage mit den 3 Tabellen und schaue mal ob das passt.

Da Du Beziehungen angelegt hast, werden diese als Vereknüpfungen übernommen.

ZitatUnd den Namen Test habe ich jetzt nur so gewählt
eben, nicht einfach so wählen, sondern einen sinnvollen Namen geben.
Gruß Klaus

uwe01

Hallo Mzkimu,
Das habe ich schon probiert, hat aber auch nicht zum Erfolg geführt. Entweder hatte ich  die Geräte mehrfach in der Abfrage oder ich hatte nur die Spaltennamen in der Abfrage.
Gruß Uwe01
Win 10, Access 2002/2013
Bitte um Verständliche Antworten !

MzKlMu

Hallo,
die Fremdschlüsselfelder für Ladestation und Batterie in der Gerätetabelle müssen einen Eintrag haben, die dürfen nicht leer sein.
Gruß Klaus

DF6GL

Hallo,

die Frage zur  Abfrage sollte dieses SQL-Statement befriedigen:

ZitatSELECT [FFZ Gerät].*, [FFZ Batterie].*, [FFZ Lade].*
FROM [FFZ Lade] RIGHT JOIN ([FFZ Batterie] INNER JOIN [FFZ Gerät] ON [FFZ Batterie].BatID = [FFZ Gerät].BadID) ON [FFZ Lade].LadID = [FFZ Gerät].LadID;

(zusammengeklickt im Abfrageentwurf)

Die Beziehungstyp zwischen FZZLade und FFZGerät sollte von 3 (RIGHT JOIN) auf 1 (INNER JOIN) geändert werden.
Zudem sind Sonder- und Leerzeichen in Namen dringend zu vermeiden.

Ob die Erfassung der Verlaufsdaten (Batterie verkauft, verschrottet) in der Stammdatentabelle sinnvoll/richtig ist, wage ich zunächst zu bezweifeln. Hier gehört eine weitere Status- (Historien-)Tabelle eingebaut und eine passende Ablaufsteuerung mit Formularen erstellt, sofern nicht nur eine statische Aussage über den aktuellen Zustand eines Gerätes das Ziel ist.

Solange die Tabellen-Grundstruktur (Es sind nur 3 Tabellen)
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

uwe01

Hallo,
@MzKlMu
ich weiß auch nicht warum die Anzeige der Fremdschlüssel leer ist, da ja die Tabelle Daten hat?
@DF6GL
habe dein Hinweis mit den Beziehungen bereinigt, und mal eine Abfrage nach deinem SQL erstellt.
Da habe ich auch das Problem das da kein Eintrag ist.
Gruß Uwe01
Gruß Uwe01
Win 10, Access 2002/2013
Bitte um Verständliche Antworten !

DF6GL

#14
Hallo,

lad mal die Db (komprimiert/repariert und gezippt, evtl. datenreduziert)  hier hoch...

Ansonsten erstell ein Formular mit Datenherkunft zu Tabelle "FZZ Gerät"  und bau für die Anzeige der Fremdschlüssel jeweils ein gebundenes Kombifeld ("BadID", "LadID" )ein, das seine Daten aus "FFZ Batterie", bzw. "FFZ Lade" bezieht.


"BadID", gebunden an [FZZ Gerät].BadID:

Select BadID, Bezeichnung from [FFZ Batterie]



"LadID", gebunden an [FZZ Gerät].LadID:

Select LadID, Bezeichnung from [FFZ Lade]


Zitatich weiß auch nicht warum die Anzeige der Fremdschlüssel leer ist

Da wird wohl jemand nichts eingetragen haben   ::)

Wenn die Daten nach Excel exportiert werden sollen, muss bei beiden Beziehungen der Beziehungstyp  auf "alle Datensätze aus FZZ Geräte und nur diejenigen aus FZZ xxx ..." eingestellt werden (,falls die Fremdschlüsselfelder leer sein dürfen).
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