Neuigkeiten:

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

Mobiles Hauptmenü

Abfrage aus mehreren Tabellen

Begonnen von Vigor, Juni 28, 2011, 15:38:30

⏪ vorheriges - nächstes ⏩

Vigor

Hallo
Ich habe jeden Tag Messungen an verschiedenen Messstellen zumachen und in eine DB einzutragen.
An jeder Messstelle die gleichen Messungen. 
Jede Messstelle hat eine eigene Tabelle, die Spalten sind bezeichnet mit Tabellenname und Messung
Es wird aber nicht an jeder Messstelle jeden Tag gemessen.
Das heisst, dass in einigen Fällen in der Tabelle jedes Datum vorhanden ist, in einigen nur jedes zweite oder dritte.
Pro Tag gibt es pro Tabelle nur einen Datensatz, mehr ist nicht möglich, da das Datum die bestimmende Grösse ist, und die Verbindung zwischen den Tabellen ist auch das Datum
Für eine Abfrage will ich nun aus mehreren Tabellen eine Übersicht über eine gewisse Zeit machen, und zwar will ich Tabellen mit täglichen Messungen und Tabellen mit 2 oder 3 täglichen Messungen gemeinsam verwenden.
In der Abfrage erscheinen mir aber nur die Datensätze, deren Datum in beiden Tabellen vorhanden ist. Es ist mir klar, dass wenn kein Datensatz in der zweiten Tabelle da ist , dass dann nichts kommen kann, aber doch wenigstens der Datensatz aus der ersten Tabelle und vielleicht das fehlende als leerplätze.
Wie muss ich eine Abfrage über mehrere Tabellen machen, dass die obige Angabe, alle Datensätze die da sind auch kommen und für den Rest einfach Leerplätze
Danke für die Unterstützung
Vigor 

oma

Hallo Vigor,

in der Abfrage kannst du die Verknüpfung zwischen 2 Tabellen verschiedenartig gestalten.
Klicke mal auf die Verbindungslinie u. schaue dir die 2. Möglichkeit an!

Aber du solltest evt. mal dein Tabellenkonzept überdenken; warum muss zu jeder Meßstelle eine Tabelle sein??

Warum nicht tblMesswerte mit MessID, MessungOrt, MessungDatum, MessungWert

Gruß Oma
nichts ist fertig!

Vigor

Hallo Oma
Erstmal Danke für Deine Antwort
Zu jeder Messstelle ein Tabelle, da pro Messstelle zwischen 10 und 30 Resultate anfallen, da geht für mich die Übersicht verloren wenn ich da jeden Tag fast 150 Resultat dazu habe. Wir machen jetzt alles in Excel und deshalb will ich mehrere Tabellen in einer neuen DB aufbauen. 
Danke für den Tip mit dem Anklicken der Verbindungslinie, werde mal ausprobieren, was geschieht.
Gruss
Vigor

MzKlMu

Hallo,
zu jeder Tabelle eine Messtelle ist für Access mit Sicherheit der falsche Weg. Access erfordert einen völlig anderen Tabellenaufbau.
Du brauchst 4 Felder in der Tabelle:

MessungID (Autowert)
MesstelleNr
Messwert
Messgröße

Die Messungen werden einfach fortlaufend erfasst. Du kannst im Formular mit einem Filter jede beliebige Messstelle anzeigen und hast auch so die gewünschte Übersicht.
Gruß Klaus

oma

Hallo Vigor,

ZitatZu jeder Messstelle ein Tabelle, da pro Messstelle zwischen 10 und 30 Resultate anfallen, da geht für mich die Übersicht verloren

das muss nicht sein, da du Die Eingaben u. Änderungen bzw. die Ergebnisse von Recherchen/Filterungen  immer in Formulare  realisierst. Und in Formulare kannst du dir schnell u. einfach bestimmte Übersichten schaffen

Das ist auch ein wichtiger Unterschied zu Excel (neben andern wichtigen); in Excel arbeitest du mit den Tabellen, in Access sind die Tabellen gewissermaßen nur die Speicherorte der Daten und sollten für die User garnicht einsehbar sein.

In einem Formular kannst du über Button/Auswahlfelder o.a. dir ganz komfortabel bestimme Datensätze ansehen, so zum Beispiel alle Meßwerte einer Meßstelle (statt in den verschiedenen Tabellen herumirren) oder alle Meßwerte an einem Datum von allen Meßstellen usw. Solche Auswertungen sind mit den von mir beschriebenen Tabellenaufbau dann einfach ein "Klacks"

Durchdenke dir das ganze noch einmal ;D

Gruß Oma
nichts ist fertig!

Vigor

Hallo
Erstmals Dankeschön für die Unterstützung.
Meinen Aufbau mit mehreren Tabellen habe ich so gewählt, weil ich so jeweils am besten sehe, was ich am vorgesehenen Messplatz auch messe, das sind bis zu 15 verschiedene Resultate und das an etwa 15 messplätzen pro Tag.
Das gäbe mir eine unübersichtliche Grundtabelle, etwa 100 definierte Zeilen.
Es gibt Messungen an jedem Tag, Messungen alle 3 Tage, Messungen an allen Messstellen und Messungen nur an einigen Messstellen.
Nun habe ich mal mit so definiert, dass jeden Tag nur 1 Datensatz erstelltwerden kann, wobei das Datum die Verbindung zwischen den Tabellen ist.
Abfragen geht, ausfüllen geht und auch Berichte erstellen geht, solange ich beim Abfragen im daraus aufgebauten Formular nur eine Messstelle bearbeite.
Ich will nun aber zum Beispiel die Farbe querbeet über mehrere Stellen abfragen, sind also mehrere Tabellen betroffen. Da geht nun nichts mehr, ich verwende das Datum einer der Tabellen, die schon einen Eintrag hat, aber nun kann ich über diese Abfrage die quer über mehrere Messstellen geht nichts mehr eintragen.
Das Datum ist indiziert und meldet, das der Datensatz schon besteht, muss ich das Datum noch als eigene Tabelle führen damit ich auf die zweite Art eingeben kann, oder muss ich einen andern Index (?) dazudefinieren?
Danke für Ideen
Gruss und schönene Abend
Vigor   

DF6GL

Hallo,

"Meinen Aufbau mit mehreren Tabellen habe ich so gewählt, "

der nunmal falsch ist....



"..weil ich so jeweils am besten sehe,... "



es kommt nicht darauf an, was Du(!) in den Tabellen siehst, sondern ob Access die Daten in den Tabellen richtig verwalten kann.

"Ansichten" von Daten werden in Formularen( oder Berichten) realisiert.


Das Ganze funktioniert nur, wenn Du Dich an die erforderliche Tabellennormalisierung hältst und die mit Deinem Tabellenaufbau realisierst.


Wenn Du das nicht machst, gehst Du einen steinigen Weg bis zur Absturzstelle. Die erste Erfahrung hast Du ja schon gemacht.




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

MzKlMu

#7
Hallo,
ZitatMeinen Aufbau mit mehreren Tabellen habe ich so gewählt, weil ich so jeweils am besten sehe, was ich am vorgesehenen Messplatz auch messe, das sind bis zu 15 verschiedene Resultate und das an etwa 15 messplätzen pro Tag.
Leider nimmst Du die Ratschläge nicht an. Der Aufbau mit mehreren Tabellen ist und bleibt der falsche Weg. In die Tabelle muss ein Fremdschlüsselfeld für den Messpaltz und damit kannst Du diese große Grundtabelle nach belieben filtern (=verkleinern).
Zitatwobei das Datum die Verbindung zwischen den Tabellen ist.
Auch das wäre zu überdenken.
ZitatIch will nun aber zum Beispiel die Farbe querbeet über mehrere Stellen abfragen, sind also mehrere Tabellen betroffen.
Du hast Du dann schon das mit dem falschen Aufbau verbunden Problem.
Du musst erst mit einer Unionabfrage aus den einzelnen Tabellen wieder eine ganze Tabelle machen (also das was Du eigentlich nicht willst) und darin suchen, aber dann das Ergebnis wieder tabellenspezifisch darstellen.

Edit:
Ich habe meinen Beitrag jetzt trotzdem noch gesendet, er bläst ja ins gleiche Horn.
Es wird Ihn hoffentlich zum Umdenken anregen.
Gruß Klaus

database

Hallo,

@MzKlMu
ZitatEs wird Ihn hoffentlich zum Umdenken anregen.
Was unbedingt wünschenswert wäre, denn bei der bisher gezeigten Beratungsresistenz ist eine Hilfestellung (fast) unmöglich  :o

@Vigor
UMDENKEN BITTE
Wenn du mit Access eine Lösung für deine Aufgabenstellung anstrebst, MUSST du dich von den Excel-Spezifika LÖSEN.
Du kannst die Arbeit mit Daten in Excel und Access NICHT gleichstellen sondern höchtens BEDINGT vergleichen!

15 mal 15 Messresultate mal 365 Tage ergibt 82125 Datensätze pro Jahr - für eine Access-Datenbank an sich kein unlösbares Problem.  ;)
Die Daten dann nach Messplätzen und Datum geordnet darzustellen (OHNE die große Verwirrung auszulösen) sollte mit Access-Berichten keinen übermäßigen Aufwand darstellen.
Daten messplatzbezogen in die Tabellenstruktur zu verfrachten stellt bei Verwendung eines ordentlichen Eingabeformulars auch keine Schwierigkeit dar.
Messplatzbezogen und datumsbezogen Daten für die Nachbearbeitung / Durchsicht in einem Formular darzustellen ---> wie oben.

Einziges Problem scheint daher eindeutig dein Tabellenkonzept zu sein, das sich an die Darstellung in Excel orientiert.  :-\

Fazit: ..... Tu was dagegen in dem du die gut gemeinten Ratschläge annimmst  ;D ::)

Vigor

Guten Morgen
Wenn ich jetzt alle Beiträge nochmals durchgegangen bin, sehe ich, dass ich nochmals zurück an den Start gegen muss, als Neuling macht man ja ab und zu bittere Erfahrungen.
Allen Dank für die Beiträge, ich werde sie berücksichtigen.
Vigor