WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Software (http://www.wcm.at/forum/forumdisplay.php?f=5)
-   -   Access: Mehrere Tabellen in eine (http://www.wcm.at/forum/showthread.php?t=196982)

MaZchen 09.08.2006 21:36

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

powerman 09.08.2006 21:47

hi,
wie schaut die Struktur der Datenbank aus? Welche Abfrage wurde erstellt?

MaZchen 10.08.2006 08:26

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

tivise 10.08.2006 08:34

Filtern? schon probiert?

MaZchen 10.08.2006 08:40

Zitat:

Original geschrieben von tivise
Filtern? schon probiert?
Wie?

Jaguar 10.08.2006 13:50

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.

testi 10.08.2006 14:48

Zitat:

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.
Nein, das schreit nicht danach, es ist eine.
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:

wbendl 10.08.2006 15:06

Hi!

Zitat:

Das UNION SQL Commando ist dein Freund ...
Wie wahr, leider hast du aber noch eine Hürde zu überwinden:
UNION wird vom Abfragedesigner nicht unterstützt, du muß das Statement sebst schreiben.
Es funktioniert aber tadellos, ich mache es auch so.


mfg

WB

powerman 10.08.2006 15:24

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....

hans friedmann 10.08.2006 15:34

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

MaZchen 11.08.2006 09:04

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

hans friedmann 11.08.2006 09:31

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

Schaly 11.08.2006 09:38

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.

MaZchen 11.08.2006 11:29

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