![]() |
Access: Mehrere Tabellen in eine
Hi nochmal,
habe folgendes Problem: In einem Access Projekt habe ich mehrere Tabellen mit identischer Struktur, nämlich für jedes Monat eine. Nun würde ich gerne Abfragen über diese Tabellen fahren für z.b. Ganzjahresauswertungen. Bisher habe ich alle Einzeltabellen in eine Summentabelle kopiert. Das muss doch auch anders gehen, ohne alle Daten doppelt zu haben.... thx, MaZchen |
hi,
wie schaut die Struktur der Datenbank aus? Welche Abfrage wurde erstellt? |
Hi!
Bis jetzt ganz einfach. Für jedes Kalendermonat gibt es eine Tabelle. In dieser sind einzelne Auftragszeilen enthalten, d.h. Kundennummer, Produkt, Menge, Auftragsnummer, Datum. Keine Beziehungen der Tabellen untereinander oder zu anderen. Jede mit ca. 20.000 Zeilen --> Excel scheidet aus. Nun würde ich gerne Auswertungen fahren, z.B. Verkäufe von Produkt X an Kunde Y über das ganze Jahr. Bis jetzt habe ich eben jede Monatstabelle in eine Gesamttabelle kopiert die nun schon >100.000 Zeilen ist und somit alle Daten redundant vorliegen. MaZchen |
Filtern? schon probiert?
|
Zitat:
|
Das UNION SQL Commando ist dein Freund wenn die Tabellen die gleiche Struktur haben. Damit kannst du mehrere Tabellenabfragen zu einer Gesamtabfrage zusammenfassen.
Andererseits würd ich mir mal Gedanken über dein Datenmodell machen. Für jedes Monat eine eigene Tabelle zu haben schreit eigentlich nach einer Normalformverletzung. |
Zitat:
Jedes Kalendermonat eine neue Tabelle:eek: Die Datenbank möcht ich mir in 3 Jahren nicht mehr anschauen. :confused: Warum gibt er in den Tabellen ein Datum an, wenn er eh für jedes Kalendermonat eine neue Tab macht:confused: |
Hi!
Zitat:
UNION wird vom Abfragedesigner nicht unterstützt, du muß das Statement sebst schreiben. Es funktioniert aber tadellos, ich mache es auch so. mfg WB |
hi,
deine Tabellenstruktur ist eine einzige Katastrophe! Tabellen sollen nicht gleiche DATEN enthalten, da hier die meisten Fehler entstehen. eine möglichee Aufteilung wäre:"(1), (2)" ist nur zur Dokumentation: Kundendaten: (1)T_KuNr, (2)T_KuName, (3)T_KuDatum Produkt: (4)T_ProtuktNr, (5)T_ProduktName, (6)T_ProStk, (7)T_ProduktDatum, (11)T_ProduktPreis Auftrag: (8)T_AuftragNr, (9)T_AuftragDatum, (10)T_AuftragStk usw.... Abfragen wären dann für eine bestimmten Kunden: aus Tabelle Kunden -> 1-2-3 aus Tabelle Auftrag -> 8-9-10 aus Tabelle Produkt -> 4-5-11 usw.... |
sehe ich ähnlich:
wo liegt der sinn darin jedes monat eine neue tabelle zu machen. 3 tabellen in deinem fall wären ok: Kundentbl Artikeltabl Salestbl Primärschlüßel definieren und dann mittels relationen zusammenbringen. wäre einfacher bei der abfrage v.a. könntest dann ohnehin mittels sql argumenten dann nach datum/zeitraum filtern |
Dass die Datenbankdefinition suboptimal ist, ist mir bewusst.
Allerdings bekomme ich die Daten nicht anders. Das ganze ist ein Extrakt aus unserem ERP System. Das spuckt nur formatierte Textdateien aus. Ist schon mühsam genug diese Datenwurst jedes Monat zu erzeugen.... Wenn die Daten weniger wären würd ich sie einfach in ein Excel sheet stecken. Die Werzeuge die ich zur Verfügung habe sind leider beschränkt. MaZchen |
welches ERP denn, ein ERP setzt prinzipiell auf eine datenbank (meist SQL (MS, oracel, pervasiv..)) auf. dann könntest einfach mittels msquery oder anderen tools die datenbank abfragen und ins excel importen...nur mal so als ein gedanke
|
Wenns wirklich auf eine "gscheide" DB aufbaut (muss ja nicht sein, ich musste jahrelang mit einer Paradox rumwerkeln),
könntest Du dir ja auch die Daten mittels einer ODBC-Schnittstelle holen, oder (noch billiger:) die ERP-Tabellen in deine mdb verknüpfen. |
Spielt's leider alles nicht. Ist keine lokale Datenbank, sondern ein shared service. Bin User, lokale IT Unterstützung gibt es nicht mehr. Benutzerangepasste Reports gibt es nicht.... Daher muss ich nach Möglichkeiten suchen die Daten hinterher aufzubereiten.
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 18:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag