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 einem Bericht

Begonnen von Scoopman, Dezember 19, 2014, 12:05:53

⏪ vorheriges - nächstes ⏩

Scoopman

Hallo Zusammen,

ich hätte eine Frage und hoffe das sie mir jemand beantworten kann.
Ich muss jeden Tag einige Datenlieferungen in ein System einspielen. Diese werden gezählt und Lieferanten zugeordnet. Dies geschieht mittels einer ODBC Verbindung zu einer Access-DB.
Am Folgetag bekomme ich einen Report der eingespielten Daten und muss diese jetzt prüfen.
1. Habe ich alles in der Access-DB eingetragen? (tblLieferungen)
2. Habe ich alles eingespielt. (tblLieferungen_Vortag)
3. Habe ich in der tblLieferungen, Lieferanten die nicht in der tblLieferungen_Vortag vorkommen?
Das passiert wenn jemand einen informellen Eintrag gemacht hat.


In der tblLieferungen habe ich u.A. folgende Spalten: LieferantenID, Lieferant, Datum Anzahl_DS
In der tblLieferungen_Vortag habe ich u.A. folgende Spalten: LieferantenID, Lieferant, Datum Anzahl_DS

Kann man all diese Kriterien in eine Abfrage packen und das Ergebnis so darstellen, dass man sieht in welcher Tabelle etwas fehlt?
Ich scheitere leider an dem Punkt alles in eine Abfrage zu packen und mache das über viele einzelne Abfragen.
Unter anderem habe ich auch das Problem das ich nur etwas angezeigt bekomme, wenn in beiden Tabellen etwas eingetragen ist an dem Liefertag.

Vielen Dank für Eure Unterstützung
Access 2003(SP3)

MaggieMay

Hallo,

Punkt 1 und 2 verstehe ich nicht ganz, womit willst du da was vergleichen?

Punkt 3 sollte sich mit einer Inkonsistenzabfrage lösen lassen, der Assistent hilft dir dabei.
Freundliche Grüße
MaggieMay

Scoopman

Hallo MaggieMay,

ziemlich einfach erklärt. Vergleichen muss ich Punkt1 gegen Punkt2 und umgekehrt.
Um dir mal ein Bespiel zu geben:
Lieferant xy liefert. Dies muss nachgehalten werden in der tblLieferungen (u.a. für Abrechnung).
Lieferant xy wird ins System eingespielt. Dies wird am nächsten Tag per Report geliefert (tblLieferungen_Vortag). Zusätzlich kann es noch vorkommen, dass Infoeinträge in der tblLieferungen vorkommen, welche NICHT als Lieferung in das System übergeben werden. Diese tauchen auch nicht am nächsten Tag im Report auf. Ich muss es aber wissen, weil diese Einträge an anderer Stelle andere Reports auslösen. Hoffe das es jetzt vielleicht etwas verständlicher war/ist.
Access 2003(SP3)

MaggieMay

Wenn du Hilfe in einem Forum suchst, musst du versuchen, die Zusammenhänge so knapp aber dennoch detailliert wie möglich darzustellen, dass auch jemand der die Hintergründe, Zusammenhänge, Arbeitsabläufe etc. nicht kennt, sich etwas darunter vorstellen kann.

ZitatLieferant xy liefert. Dies muss nachgehalten werden in der tblLieferungen
Heißt dieses "Nachhalten", dass diese Informationen direkt in die Access-DB (also manuell?) eingegeben werden?
ZitatLieferant xy wird ins System eingespielt.
Wie findet das statt?
ZitatDies wird am nächsten Tag per Report geliefert (tblLieferungen_Vortag)
Was heißt hier "per Report geliefert"?
Ein Report ist normalerweise ein Access-Produkt.
Also eine Ausgabe und nicht eine Eingabe von Daten.
Freundliche Grüße
MaggieMay

database

Hi,

wenn du 2 unterschiedliche Tabellen mit vollkommen gleichen Spalten in deiner Datenbank führst erlaube ich mir die Richtigkeit deines Tabellenkonzepts anzuzweifeln.

Zitat3. Habe ich in der tblLieferungen, Lieferanten die nicht in der tblLieferungen_Vortag vorkommen?
siehe ... http://www.donkarl.com?FAQ3.16

Scoopman

Okay, ich kann nochmal versuchen etwas Licht ins dunkle zu bringen.
System1 liefert mir täglich einen Report (tblLieferungen_Vortag) als csv.Datei (nicht Access)!!! Ja, man kann Reports auch aus anderen Systemen bekommen.
Access DB hat eine Nachweisdatei (tblLieferungen), in die täglich per ODBC, Datensätze eingefügt werden.
Mein jetziger Bericht in Access zeigt mir nun genau an, nachdem ich ihn starte, wo etwas fehlt. Entweder habe ich in die tblLieferungen etwas eingetragen (nachgehalten) was ich aber nicht in System 1 (nicht Access) eingespielt habe. Sprich, ich habe es vergessen einzuspielen.
Oder der umgekehrte Fall. Ich habe etwas eingespielt System1 (tblLieferungen_Vortag), und habe dies nicht nachgehalten in Access (tblLieferungen). Es funktioniert ja bereits, nur nicht so elegant. Ich möchte das beide Abfragen zeitgleich durchgeführt werden und das Ergebnis in einem Bericht, Formular (wo auch immer) erscheint. Ist das so schwer?
Zum Thema Tabellenkonzept: Es wäre mir neu, dass man in unterschiedlichen Tabellen, die auch noch anders heißen, zwingend notwendig unterschiedliche Spaltenbezeichnungen haben muss??? Es gibt Entitäten!!!
Sorry, aber ich stelle es mir nicht so schwer vor.
Access 2003(SP3)

ebs17

#6
ZitatIch möchte das beide Abfragen zeitgleich durchgeführt werden und das Ergebnis in einem Bericht, Formular (wo auch immer) erscheint. Ist das so schwer?
Das ist unmöglich. Abfragen werden in jedem Fall nacheinander ausgeführt. Wenn sie aber schnell genug erfolgen, kann einem das wie gleichzeitig vorkommen.


In einem Formular/Bericht kann man mehrere Abfragen vereinen, die dann auch speziell für die jeweilige Aufgabe geschrieben sind. Versucht man, mehrere recht unterschiedliche Abfragen zu einer zu vereinen (zur geliebten umfassenden Exceltabelle) wird es meist aufwändiger und langsamer.
Zitat
Problem das ich nur etwas angezeigt bekomme, wenn in beiden Tabellen etwas eingetragen ist
Verwende einen OUTER JOIN statt eines INNER JOIN. Dieser Hinweis ist in dem Tipp von Peter bereits enthalten.

Zitatich kann nochmal versuchen etwas Licht ins dunkle zu bringen
Wenn ich Hilfe erbitten würde, würde ich Interessenten gleich in ein helles und übersichtliches Zimmer führen, damit sie sich auf das Wesentliche (= Ideen und Vorschläge für mich) konzentrieren und beschränken können.

Nachtrag:
ZitatEntweder habe ich in die tblLieferungen etwas eingetragen (nachgehalten) was ich aber nicht in System 1 (nicht Access) eingespielt habe. Sprich, ich habe es vergessen einzuspielen.
Oder der umgekehrte Fall. Ich habe etwas eingespielt System1 (tblLieferungen_Vortag), und habe dies nicht nachgehalten in Access (tblLieferungen).
Das heißt mit anderen Worten: Du arbeitest an zwei Fronten statt zentral und musst dann ermitteln, was Du an Unterschieden produziert hast?
Ein zentrales Handling würde einen nachträglichen Abgleich überflüssig machen.
Mit freundlichem Glück Auf!

Eberhard