Access-o-Mania

Access-Forum => Tabelle/Abfrage => Thema gestartet von: lenky am Mai 21, 2010, 08:53:06

Titel: Abfrage aus mehreren Tabellen generieren - Abteilungsbezogen
Beitrag von: lenky am Mai 21, 2010, 08:53:06
Guten Morgen an alle fleißigen Access Helfer, Meister, Götter.....

Ich möchte eine Abfrage erstellen die mir alle möglichen Ergebnisse bzüglich folgender Situation liefert:

Ich habe eine Zusammengestellte Abfrage aufgebaut und nun soll jedoch eine Abfrage generiert werden, in der alle Möglichen Abteilungen einzeln gefiltert werden und auch einzeln ausgegeben werden.

(Die Datenbank beschäftigt sich mit Nebenkosten. Alle Daten sollen zusammgestellt werden bezüglich der einzelnen Abteilungen.)

Frage ist, was für ein Kriterium muss ich hierfür angeben ohne dass ich alle Abteilungen einzeln eintragen muss?

Vielen DANK für alle Tipps, Hilfen, Ratschläge.......


Gruß lenky
Titel: Re: Abfrage aus mehreren Tabellen generieren - Abteilungsbezogen
Beitrag von: MzKlMu am Mai 21, 2010, 09:25:47
Hallo,
Du müsset mal genauer beschreiben wie die Abfrage aufgebaut ist.
Wie sind die Abteilungen und Kosten erfasst, als Felder oder als Datensätze?
Titel: Re: Abfrage aus mehreren Tabellen generieren - Abteilungsbezogen
Beitrag von: lenky am Mai 21, 2010, 10:07:17
Hallo MzKlMu!

Erst einmal vielen Dank für Deine schnelle Antwort!

Also ich habe überwiegend Double Felder (Zahl) für die Flächen und Kosten. Alles sind Datensätze mit AutoWertID.

Es gibt eine Große tbl Mietverhältniss aus der sind folgende Felder vorh.:

ID
RaumNr. (Textfeld da Buchstaben enthalten)
Raumbezeichnung (Text)
RaumFläche (Zahl)
Raum/Monat (Zahl)
Raum/Nebenkosten
Miete/Monat (Zahl)
Miete/Jahr (Zahl)
Bereich (Text)
Gebäude (Text)

Dann gibt es viele Einzeltabellen mit folgenden 3 identischen Spalten:

ID (Autowert)
Verteilerschlüssel (Text)
Ist Kummuliert (Zahl)


Alle Daten möchte ich nun für die Bereiche erfassen, allerdings muss ich den Verteilerschlüssel im Nachinein durch ein Kriterium belegen, da ich noch nicht weiß, welche Verteilerschlüssel, welchen Bereich betreffen.

Aber es wäre schon mal Hilfreich, wenn ich nicht jeden Bereich in einer neuen Abfragetbl eintragen muss - sind einfach zu viele.



Vielen Dank!

Gruß lenky
Titel: Re: Abfrage aus mehreren Tabellen generieren - Abteilungsbezogen
Beitrag von: lenky am Mai 21, 2010, 16:02:02
kurz zu meinem Stand:

habe jetzt mal die kleineren Tabellen alle aufbereitet und denen einen eigene namenID gegeben, sowie auch die Spalte Ist Kummuliert mit einem speziellen namen versehen. Denn es sind hier alles unterschiedliche Datensätze.

Die Feldformartierung bleibt aber bestehen.........

lg lenky
Titel: Re: Abfrage aus mehreren Tabellen generieren - Abteilungsbezogen
Beitrag von: database am Mai 21, 2010, 22:23:44
Hallo Lenky,

Zitat
Dann gibt es viele Einzeltabellen mit folgenden 3 identischen Spalten
Ojeoje, da stimmts aber gewaltig NICHT!

Ich rechne mal damit, dass du die Verteilerschlüssel alle kennst, nur die Zuordnung zu den Mietverhältnissen nicht immer bekannt ist.

M.E. würde daher eine einzige Tabelle mit
ID (Autowert)
Verteilerschlüssel (Text)
Ist Kummuliert (Zahl)

genügen!
Führst du dann noch eine Tabelle als Zwischentabelle der n:m Beziehung mit der ID aus tblMietverhaelnisse und der ID aus tblVerteiler dann kannst du erstens die Zuordnung jederzeit problemlos erstellen.
Zitat
Alle Daten sollen zusammgestellt werden bezüglich der einzelnen Abteilungen
Stehen die Abteilungen im Feld Verteilerschlüssel oder wie?

Peter
Titel: Re: Abfrage aus mehreren Tabellen generieren - Abteilungsbezogen
Beitrag von: lenky am Mai 21, 2010, 23:45:53
hallo Peter!

Ja das ganze ist ganz schön durcheinander!

Ich versuch es am besten nochmal zu erklären.

Das Problem bei der Sache ist das die Tabellen mit den Verteilerschlüsseln alle nur einen Gesamtwert fürs Jahr ausgeben. Es gibt, da es auch mehrere Objekte gibt, Tabellen die zwar Teilweise identisch sind, jedoch ganz andere Verbrauchzahlen (Ist Kummuliert in Euro) aufweisen. Weil ich einen Umlageschlüssel erstellen möchte, um einzelne Tabellen oder Kosten den verschiedenen Objekten zuzuordnen (über z.B m²) muss ich die Zahlungen Ist Kummuliert in Euro Abteilungsbezogen über die Quadratmeter zuordnen.

Ich mache mal ein vereinfachtes Beispiel:

Ich habe folgende Tabellen in der folgendes gelistet ist:

1                                                         2                                                                        3
ObjektID                                        VerteilerschlüsselID                                        ObjektID
Gebäude                                        Gebäude                                                         Gebäude
m²                                                  Ist Kummuliert in Euro                                    Bereich (Abteilung) --> hier Teilweise Datensätze aus 1 enthalten
Bereich(Abteilung)                                                                                                                                     und auch zusätzliche.

Ich möchte nun eine Abfrage in der das Gebäude, der Bereich (aus 1 und 3) die m², Der Verteilerschlüssel sowie die Kosten gelistet sind.

Da tbl Nr.2 so viele verschiedene Tabellen hat, dachte ich es gibt vielleicht die Möglichkeit eine Abfrage zu erstellen, die dann durch ein Kriterium vorgibt, dass soviele Abfragen wie es Abteilungen gibt erstellt werden, auf die ich dann zurückgreifen kann, um die Daten dann weiter heraus zu filtern.


vielen Dank

guts Nächtle lenky

Titel: Re: Abfrage aus mehreren Tabellen generieren - Abteilungsbezogen
Beitrag von: database am Mai 22, 2010, 09:56:21
Guten Morgen,

oh Mann ...  :-\

Vielleicht liegts an der Tageszeit aber ...
Zitat
habe jetzt mal die kleineren Tabellen alle aufbereitet und denen einen eigene namenID gegeben, sowie auch die Spalte Ist Kummuliert mit einem speziellen namen versehen. Denn es sind hier alles unterschiedliche Datensätze.
...ich werd' aus DEM nicht klug.
So wie ich das jetzt interpretiere hast du da für JEDES Gebäude eine eigene Tabelle und zusätzlich noch die Tabellen, die wie  2 aufgebaut sind - hier aber für jeden Datensatz eine eigene Tabelle???
Zitat
Da tbl Nr.2 so viele verschiedene Tabellen hat, dachte ich es gibt vielleicht die Möglichkeit eine Abfrage zu erstellen, die dann durch ein Kriterium vorgibt, dass soviele Abfragen wie es Abteilungen gibt erstellt werden, auf die ich dann zurückgreifen kann, um die Daten dann weiter heraus zu filtern.
Nein - du musst ganz einfach das Datenmodell berichtigen, so funktioniert das nicht!
Wenn du das nicht machst, verlierst du dich immer mehr im Chaos - und bitte das hast du bereits! In der Tabelle 3 (Haben die Dinger denn keinen Namen?) hast du teilweise Daten aus 1 und auch zusätzliche - so KANN das nicht sein - wie soll da ein ordentliches Ergebnis per Abfrage erstellt werden?
Zitat
um einzelne Tabellen oder Kosten den verschiedenen Objekten zuzuordnen
Lenky, in einer Datenbank ordnet man einem Objekt - in deinerm Fall einem Gebäude - keine Tabellen zu sondern Datensätze!
Somit sollte es eine Haupttabelle geben in der die Gebäudedaten verwaltet werden und meinetwegen eine Detailtabelle in der zu JEDEM Gebäude-Datensatz weitere Informationnen wie z.B die jährlichen Kosten erfasst werden. Da es sich dabei um JÄHRLICHE Kosten handelt also für jedes neue Jahr zumindest ein neuer Datensatz geschrieben wird, ist die Beziehung zwischen den Tabellen als 1:n auszubilden.
Da kann man dann eine Abfrage erstellen, die pro Gebäude oder pro Abteilung oder pro Jahr Ergebnisse zeigt. Wenn ich aber deine Problematik nicht falsch vestanden habe hast du bei 30 Gebäuden in 3 Jahren 90 Tabellen die du nun unter einen Hut quetschen willst - stimmts?

  Bitte nicht böse sein aber ...
Zitat
Ja das ganze ist ganz schön durcheinander!
... ist ein Hilfsausdruck!

verwirrte Grüße

Peter
Titel: Re: Abfrage aus mehreren Tabellen generieren - Abteilungsbezogen
Beitrag von: lenky am Mai 22, 2010, 12:04:53
Hallo Peter!

Ja, im Grunde sind meine Tabellen alle nochmal aufzubereiten. Werd das nun einfach mal in Mühsehliger Kleinarbeit tun und alle zusammenfassen. Denke ich mach das mit Excel, da bekomm ich das hin. Und dann kann ichs ja wieder in Access importieren.

Danke und sorry für die VERWIRRUNGEN

schönen Tag - WoENDE lenky
Titel: Re: Abfrage aus mehreren Tabellen generieren - Abteilungsbezogen
Beitrag von: DF6GL am Mai 22, 2010, 14:05:24
Hallo,


"Denke ich mach das mit Excel, da bekomm ich das hin. Und dann kann ichs ja wieder in Access importieren."


NEIN!

Davon rate ich Dir in Deinem eigenen Interesse ab...

Erstell die neuen Tabellen von Hand entsprechend den Normalisierungsregeln und importiere anschliessend die Daten aus den alten Tabellen (bzw. aus verknüpften Excel-Sheets) mittels passender Anfügeabfragen.
Titel: Re: Abfrage aus mehreren Tabellen generieren - Abteilungsbezogen
Beitrag von: lenky am Mai 23, 2010, 12:44:07
Hallo Peter, hallo Franz!

Hab jetzt nachdem ich die Nacht durchnächtigt habe alles bereinigt. Mir stehen jetzt nur noch zwei Tabellen zur Verfügung.

Nr.1                                                                               Nr. 2

RaumID                                                                         KostenID
Gebäude                                                                       Kostenbezeichnung
Etage                                                                            Gebäude (problem nicht als Nachsclageschlüssel, da ich nicht 7000 mal ein Geb. eintagen will)
Raumnummer                                                                Kostensumme (für die Kostenbezeichnung)
Fläche
Abteilung


Mein Problem: wenn ich eine Abfrage generieren kann ich das nur mit einfachsten Kriterien. Ich würde also eine erste Abfrage erstellen in der ich nur die Abteilung herausfilter und eine Kostenbezeichnung.

Muss ich diese Abfrage jetzt immer wieder (90 mal oder so.).... kopieren und die Krieterien verändern oder geht das auch automatisiert?

Vielen DANK an Euch beide für die Unterstützung!

lg lenky
Titel: Re: Abfrage aus mehreren Tabellen generieren - Abteilungsbezogen
Beitrag von: DF6GL am Mai 23, 2010, 13:04:15
Hallo,

bevor wir zur Abfrage kommen (Du brauchst NICHT 90 oder mehr Abfragen...) MÜSSEN erst die Tabellen mit ihren Beziehungen geklärt werden.

WIE hängen denn die beiden Tabellen zusammen?

Was hat Tabelle NR2 zu bedeuten?


Was genau willst Du insgesamt abbilden?

Database hat ja darüber auch schon gerödelt...


Ich vermute, dass es um Räume in Gebäuden geht, die irgendwelche Kosten verursachen und Du willst diese Kosten irgendwie "registrieren" und auswerten.


Daür ist dann aber Tabbelle Nr2 ungeeignet.
Mein Vorschlag:

tblRaeume  (bleibt so, bis auf evtl. Erweiterungen/Änderungen bzgl. erweiterter Stammdaten, z. B.: AbteilungsNr, etc)

tblKostenarten
KostArtID (PK)
KostArt_Bezeichnung
.
.


tblRaumKosten
RKID (PK)
RK_KostArtID (FK)
RK_RaumID  (FK)
RK_Datum
RK_Betrag



Titel: Re: Abfrage aus mehreren Tabellen generieren - Abteilungsbezogen
Beitrag von: lenky am Mai 23, 2010, 13:53:17
Hallo Franz!

Also Du hast vollig recht, die Raummiete habe ich in der Tabelle 1 ganz vergessen.
Dann brauch ich auch eine Tabelle Raumkosten wo ich die Monatsmiete erfasse und dann mit Tabelle 1 verknüpfen kann.

Die Räume verursachen nicht die Kosten, hier gibt es nur die Mietzahlungen. Allerdings fallen für die einzelnen Abteilungen Kosten an die  sich aus der Kostensumme von Tabelle 2 ergeben.

Am Ende möchte ich für jedes Gebäude die zugehörigen Abteilungen auflisten, die Flächen welche diese Abteilung gemietet hat und die geleisteten Raummieten. Hinzu kommt dann noch eine Kostensumme (Tabelle 2) die sich Pauschal ergibt und der jeweiligen Abteilung zugeordnet wird.
(Diese Kostensumme ist aber keine Gleichbleibende. im Grunde sind dies immer andere Datensätze)

Es fallen also unterschiedliche Kostenpakete für die Abteilungen an.


Hoffe das machts verständlicher


lg lenky
Titel: Re: Abfrage aus mehreren Tabellen generieren - Abteilungsbezogen
Beitrag von: DF6GL am Mai 23, 2010, 14:51:03
HAllo,

naja, dann überleg Dir nochmal genau die DAtenstrukturen, die Du hast.

Wenn für eine Abteilung Kosten anfallen, dann braucht es eine Tabelle "tblAbteilungskosten"  (und nicht "Raumkosten"..

Evtl. aber schon, wenn es denn zeitlich sich ändernde "Raumkosten" z. B. die Miete gibt.

Aber all diese Überlegungen mußt Du(!) zunächst machen und die Daten in diese "Datenblöcke" (---> normalisierte Tabellen) hineinpacken und sinnvoll/-gemäß miteinander in Beziehung setzen.

"Diese Kostensumme ist aber keine Gleichbleibende. im Grunde sind dies immer andere Datensätze"
das braucht jetzt erst gar nicht zu interessieren. Das ergibt sich von allein aus der Datenanalyse/Umsetzung in (normaliiserte!) Tabellen.


Wenn diese ganze/kompletteTabellenstruktur steht, sind Auswertungen/Berechnungen lediglich das Ergebnis passend gestellter Abfragen....
Titel: Re: Abfrage aus mehreren Tabellen generieren - Abteilungsbezogen
Beitrag von: database am Mai 23, 2010, 15:52:41
Hallo und schönen Sonntag,

was macht man an einem Sonntag denn lieber als in einem Forum herumzuhängen?

Datenbanken planen - richtig!

Das Ding wird mit jedem Posting etwas komplexer und soviel ich momentan glaube erkennen zu können handelt es sich dabei um eine Gebäudeverwaltung inkl Kostenabrechnung  :o.
Ich hab' mir also mal ein paar Gedanken darüber gemacht und ein sehr einfaches ERM als Diskussionsgrundlage zusammengeschoben.
Schau dir das mal an Lenky, die einzelnen Entitäten sind noch mit den passenden Attributen zu bestücken.
Vergleiche mal mit deinen Daten, die du jetzt erfasst hast, setze dem die Erfordernisse gegenüber und versuche die notwendigen realen Datenflüsse auf meinen Vorschlag umzulegen.
Ändere ab, ergänze oder streiche wie es notwendig erscheint bis das Modell deinen realen Gegebenheiten entspricht.
Wenn dann letztlich nichts mehr zu ändern ist, kann das ERM dann ins Relationenmodell überführt und normailsiert werden.

Jede andere Vorgehensweise mit reingebastelten Tabellen und verschobnen und verbogenen Datensätzen bring dich über kurz oder lang wieder ins Schleudern.

@DF6GL
Zitat
Database hat ja darüber auch schon gerödelt...
Danke Franz, eine nette Umschreibung ... :)  :)
Also dann - ran an das Ding

p.s.
Zitat
nachdem ich die Nacht durchnächtigt habe
habe ich auch - aber nächtlich schlafend :)

LG

Peter

[Anhang gelöscht durch Administrator]
Titel: Re: Abfrage aus mehreren Tabellen generieren - Abteilungsbezogen
Beitrag von: lenky am Mai 23, 2010, 22:28:31
Hallo Zusammen!

Danke Peter für Dein ERM! Allerdings gelingt mir z.B nicht das die RaumID automatisch in die Tabelle Raummieten übernommen wird.

Hab die derzeitige Basis mal auf meine Hompage

lenky.tk

gestellt, die immer noch im Anfangsstadium ist. In dem Blauen Balken links ist das Menü versteckt (unter DB).

In dieser Datenbank ist auch eine Gruppe TblBasis Import enthalten, die alle verfügbaren Daten biinhaltet.
Vielleicht wird damit mein Ziel klarer?

Vielen Dank für all die fleißige Unterstützung!!!

lg lenky
Titel: Re: Abfrage aus mehreren Tabellen generieren - Abteilungsbezogen
Beitrag von: database am Mai 24, 2010, 08:37:33
Hallo Lenky,

Zitat
Allerdings gelingt mir z.B nicht das die RaumID automatisch in die Tabelle Raummieten übernommen wird
Das ERM sagte dieses auch nicht aus!
Die Tabelle Raummieten soll dazu dienen die Raummiete für einen ganz bestimmten Raum ab einem festzusetzednem Gültigkeitsdatum zu speichern.
Somit sollte in einem Formular die Raummiete für einen Raum erstellt werden können.
Auf diesem Formular befindet sich ein Textfeld für das Gültigkeitsdatum, ein Textfeld für die mtl. Raummiete / m² und ein Kombinationsfeld welches die RaumID und die Raumbezeichnung der Räume aus der Tabelle tblRäume enthält zusätzlich könnte zum Zwecke der Information ein ungebundenes Textfeld die Berechnung der Raummiete vornehmen (Raummiete pro m² x Raumgröße aus der Tabelle Räume).
Wenn die Datenaufbereitung so gestaltet wird, wie es das ERM zeigt, enthält die Tabelle tblRäume auch einen Fremdschlüssel zur tblGebäude - daher ist es auch möglich im Formular für die Raummieten eine Gebäude-Vorauswahl zu treffen. Zu dem Zweck müsste ein Kombifeld mit Inhalt GebäudeID und Gebäudebezeichnung auf das Formular. Dieses Kombifeld bestimmt dann den Inhalt des Kombifeldes Räume - d.h. wird ein Gebäude ausgewählt enthält das Kombifeld räume nur jene Räume, die in dem gewählten Gebäude verfügbar sind, wird nichts gewählt sind alle Räume enthalten. Soweit alles klar? ::)

In weitere Folge wird dann die, auf diese Weise erstellte Raummiete in die tblMietverhältnisse übernommen (bzw. die dabei generierte ID als Fremdschlüssel) und hat dort solange Gültigkeit, bis sich die Raummiete ändert und dadurch ein neuer Datensatz in der tblRaummiete erzeugt werden MUSS.
Diese Übernahme KANN wiederum durch ein Kombifeld erfolgen - ein Kombifeld welches die RaumID und die Raumbezeichnung der tblRäume zeigt! die gewählte RaumID und das aktuelle Tagesdatum bestimmen dann den Datensatz mit der Raummiete, der den kombinierten Kriterien - RaumID = DeinKombifeld und Datum= Max(Datum)  oder Max(ID) der tblRaummiete. die auf diese Weise ermittelte ID der tblRaummiete wird in die tblMitverhältnis geschrieben und bestimmt dort für jede Abrechnung die Mietkosten solange bis ein neuer Mietsatz das Anlegen eines neuen Datensatzes in der  tblRaummiete und eines neuen aktualisierten Daatensatzes in der tblMietverhältnis veranlasst.

Als letzter Streich sind dann die individuellen Kosten zu erfassen.
Die tblKosten enthält zu dem Zweck die ID aus Mietverhältnis als Fremdschlüssel. Über die Angabe der Kostenart KANN dann die Höhe der anfallenden Kosten - meinetwegen für einen bestimmten Zeitraum - angegeben werden. Da ich nicht weiß, wie sich diese Kosten errechnen oder zusammensetzen ist das im ERM relativ theoretisch dargestellt - eine detailliertere Aufspaltung oder Möglichkeit zu differenzierten Kostenerfassung muss du dir aus den realen Gegebenheiten selbst überlegen!
Da es möglich ist mehrere Datensätze mit der gleichen ID aus Mietverhältnis hier zu erfassen, kann auf diese Weise auch eine Kostensumme gebildet werden.
Wenn du das ERM gut angeschaut hast wird dir aufgefallen sein, dass in der Tabelle der Mietverhältnisse eine AbteilungsID geführt wird. Somit hast du im Endeffekt die Möglichkeit Mietkosten aus Mietverhältnissen und anfallende Kosten aus einem bestimmten Zeitraum - eigentlich meiner Meinung nach - problemlos nach Abteilungen gruppiert auszuwerten bzw. anzuzeigen. Diese Abteilungen sind dann noch pro Mieter aufspaltbar.
 Hmmm.... noch immer alles klar? ::)  

Besonders zu beachten ist, dass JEGLICHE Datenerfassung über FORMULARE zu passieren hat. KEINE Nachschlagefelder in den Tabellen erstellt werden und die Eingaben in der richtigen, den realen Gegebenheiten entsprechenden Reihenfolge durchgeführt wird.

Leider habe ich aus Zeitgründen momentan keine Möglichkeit deine derzeitige 'Basis' abzuholen und mich näher damit zu beschäftigen, hoffe aber, dass ich laufe der Woche dazukomme.
Lies dir meine Zeilen genau durch und bedenke, dass ein ERM KEIN Tabellenmodell darstellt, sondern einzig als Basis für ein solches gesehen werden kann. Du musst die benötigten Attribute für die einzelnen Entitäten festlegen, dasnn das Tabellenmodell erstellen und die Normalisierung des gesamten Datenmodells durchführen BEVOR du beginnst Daten einzugeben, sonst KANN es passieren, dass du bald wieder auf die Nase fällst! ;)

Zitat
Vergleiche mal mit deinen Daten, die du jetzt erfasst hast, setze dem die Erfordernisse gegenüber und versuche die notwendigen realen Datenflüsse auf meinen Vorschlag umzulegen.
Ändere ab, ergänze oder streiche wie es notwendig erscheint bis das Modell deinen realen Gegebenheiten entspricht.
Wenn dann letztlich nichts mehr zu ändern ist, kann das ERM dann ins Relationenmodell überführt und normailsiert werden.
Das von mir hochgeladene ERM erhebt in KEINEM Fall den Anspruch auf Richtigkeit oder Vollständigkeit sondern zeigt die von mir erahnten Datenflüsse und Strukturen aus deinen Schilderungen in den Postings. Ob die dargestellten Strukturen deinen realen Gegebenheiten entsprechen musst du selbst entsheiden, das kann ich nicht, da ich die realen Gegebenheiten zu wenig kenne! Dieses bitte bei Allem nicht ausser Acht lassen!

Schönen Feiertag

Peter
Titel: Re: Abfrage aus mehreren Tabellen generieren - Abteilungsbezogen
Beitrag von: database am Mai 24, 2010, 09:58:54
Hallo Lenky,

ich habe aus Neugier doch noch die DB von deiner HP geholt.
Den Durcheinander mit den Beziehungen habe ich aufgelöst, 2 zusätzliche Tabelle erstellt und die notwendigen aktualisierungen durchgeführt.
Für einen Import der 'alten' Daten bzw eine Anpassung der neuen Tabellen an diese habe ich leider jetzt echt keine Zeit - aber aus dem neuen Datenmodell solltest du erkennen können wie der Hase läuft.

Wenn du mir deine Mailaddi per PN zukommen lässt, kann ich dir die geänderte DB zuschicken.
Aufgrund der enthaltenen Daten, welche Originale darstellen und der Größe der gezippten Datei will ich hier keinen Upload machen. :-\
Das hier hochgeladene Ding ist leer und stellt ausschließlich das Datenmodell dar! ;D

HTH
Peter

[Anhang gelöscht durch Administrator]