Neuigkeiten:

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

Mobiles Hauptmenü

Abfrage zw 2 Tabellen: Berechnung von Werten

Begonnen von elduchte, Januar 24, 2017, 08:27:27

⏪ vorheriges - nächstes ⏩

elduchte

Hallo liebe Gruppe,

seit mehr als 10 Jahren musste ich nicht mehr in Access arbeiten, nun habe ich jede Menge Daten erhalten, die ich ein wenig aufbereiten möchte. Und da habe ich dann gleich ein kleines Problem, welches ich mittels meinen schlauen Büchern und Internet-Recherche nicht erledigt bekomme, und hoffe hier auf Hilfe.

Zum Problem: Ich habe (erstmal) 2 Tabellen.
In der tblArtikel stehen in den Zeilen die Artikelnummern, die Spalten enthalten der Produktionszeit in den einzelnen Arbeitsgängen (zB. Vorbohren, Bohren, Sägen, Schleifen ....)
In der tblStundensätze stehen in den Zeilen die Arbeitsgänge (zB. Vorbohren, Bohren, Sägen, Schleifen ....), die Spalten enthalten entsprechende Sätze in EUR (Maschinensätze und Personalsätze)
Nun möchte ich gerne in 2 weiteren Tabellen (tblMaschine und tbl Personal) je Artikel die Kosten je Arbeitsgang auswerten.

Hat hier jemand einen Tipp für mich?

Vielen Dank.
Gruß
Andreas


MzKlMu

#1
Hallo,
das größte Problem ist der falsche Aufbau der Tabellen. Für eine Datenbank ist das unbrauchbar. Daher hast Du auch in Büchern und im Internet nichts gefunden.
Die Zeit darf nicht in einzelnen Spalten vorliegen, sondern in einer extra Tabelle als jeweils ein Datensatz. Die extra Tabelle benötigt dann einen Fremdschlüssel zum Artikel und einem Fremdschlüssel zum Arbeitsgang. Die Artikeltabelle enthält dann nur die reinen Artikeldaten.
Auch die Tabelle mit den Stundensätzen ist falsch aufgebaut.
Die Stundensätze müssen als Datensatz erfasst werden. Je Arbeitsgang 2 Datensätze, einer für den Maschinensatz und einer für den Personalsatz.
In die Tabelle muss dann noch ein Feld für die Kennzeichnung ob Maschinensatz und oder Personalsatz. Der Primärschlüssel dieser Tabelle kommt als Fremdschlüssel in die oben erwähnte extra Tabelle.

Für die gewünschte Darstellung wirst Du um die vorgeschlagene Umstrukturierung in einen normalisierten Aufbau nicht herum kommen.

Ein weiteres Problem sind noch Änderungen der Stundensätze im Laufe der Zeit, wie willst Du damit umgehen ?
Wie viele Arbeitsgänge gibt es denn maximal ?


Gruß Klaus

elduchte

#2
Hallo Klaus,
erstmal vielen Dank für deine Unterstützung.

Ich denke, ich habe das noch nicht ganz verstanden.

Muss ich nun eine tblZeit anlegen, in der ich alle Arbeitsgänge mit den Zeiten hinterlege, oder je eine tbl mit dem Arbeitsgang und der entsprechenden Zeit? Jeder Artikel benötigt auch eine andere Zeit je Arbeitsgang. Wie kann ich dann einen Fremdschlüssel zum Artikel herstellen? Jeder Artikel hat mehrere Arbeitsgänge (aber nicht zwangsläufig alle). Es gibt insgesamt 35 Arbeitsgänge.

Die Stundensätze sind schon seit Jahren recht konstant und ändern sich so minimal, dass es keine (bedeutsamen) Auswirkungen gibt.

Danke
Andreas

MzKlMu

Hallo,
gibt es zu jedem Arbeitsgang immer beide Stundensätze ?
In welcher Zeiteinheit wird der Zeitbedarf angegeben ?

Anbei mal ein Bild einer möglichen Umsetzung.
Gruß Klaus

elduchte

Hallo,
vielen Dank für das Bild.

Ja, zu jedem Arbeitsgang gibt es beide Stundensätze, da entweder eine Maschine oder eine Person oder sogar beide daran beteiligt sind. Ist die ArbeitsgangArt = Maschine bzw Person? Wenn ja, dann müsste es doch 2x Stundensatz geben oder? Oder sollte es eher 2 tbl geben: 1x tblArbeitsgängeMaschine und 1x tblArbeitsgängePerson?

Der Zeitbedarf wird in min angegeben.

Gruß
Andreas

MzKlMu

Hallo,
ZitatIst die ArbeitsgangArt = Maschine bzw Person? Wenn ja, dann müsste es doch 2x Stundensatz geben oder?
nein, das sind 2 Datensätze, einer für die Maschine und einer für die Person bei gleichem Arbeitsgang.
Gruß Klaus

elduchte

Guten Morgen,
was ich nicht verstehe ....

Wie wird denn nun jedem Artikel die richtigen Arbeitsgänge mit den richtigen Zeiten und Stundensätzen zugeordnet?

Gruß
Andreas

MzKlMu

Hallo,
ZitatWie wird denn nun jedem Artikel die richtigen Arbeitsgänge mit den richtigen Zeiten und Stundensätzen zugeordnet?
In der Zwischentabelle (n:m Tabelle) "tblArtikelArbeitsgang".
Ist doch aus dem Beziehungsbild klar erkennbar.
Gruß Klaus

elduchte

Ok, vielleicht falsch ausgedrückt.

wie funktioniert das technisch? Muss ich nun die entsprechenden Fremdschlüssel auch in die entsprechenden tbl eintragen? Ich kann mir nicht vorstellen, dass das automatisch erfolgt. Vielleicht kannst du mir das bitte kurz erklären?

Ich habe ca. 800 Artikel, jeder Artikel entsteht aus insgesamt ca. 70 Arbeitsgängen (35x Maschine und 25x Person). Ich kann mir das so schlecht vorstellen, wo liegt mein Fehler ?

Gruß
Andreas

MzKlMu

#9
Hallo,
Zitatca. 70 Arbeitsgängen (35x Maschine und 25x Person).
Das sind nur 60 Arbeitsgänge. In der Zwischentabelle entstehen dann 60x800 = 48.000 Datensätze, was aber nicht viel ist. Außerdem ist es die gleiche Datenmenge wie im jetzigen Aufbau (60X800 Felder).

Aber jetzt sollten wir erst mal klären, wie es dann weitergeht.
Willst eine Accessdatenbank bauen und zukünftig nur über Access diese Artikelverwaltung machen, oder bekommst Du regelmäßig diese Daten und diese müssen nach Access überführt bzw. in Access aktualisiert werden ?

Kannst Du hier bitte mal eine Exceltabelle hochladen, mit ca. 10 Datensätzen, so wie die Tabelle jetzt aufgebaut ist.
Gruß Klaus

elduchte

Hallo,
sorry für die späte Antwort, bin ein wenig ausgefallen.

Ich hatte mich verschrieben, es sind 70 Arbeitsgänge: 35x Maschine und 35x Personal.

Ich möchte gerne eine Datenbank bauen und diese Daten bekomme ich einmal im Jahr in xls. Diese Daten bestehen aus ca 30 Tabellen, die jeweils mit SVerweisen etc. verknüpft sind. Daher kann ich leider nicht mal so eben eine Tabelle hochladen.
Ich dachte mir, die Daten, die ich gebrauchen muss, in entsprechende Tabellen zusammenzustellen und diese dann nach Access zu importieren um dann die Beziehungen herzustellen.
Deswegen hatte ich ja auch mit den Arbeitsgängen begonnen. Allerdings war hier ja schon mein Problem: jeder Artikel hat 70 Arbeitsgänge mit unterschiedlichen Zeit und Stundensätzen. Muss ich dann jeden Artikel mit der jeweiligen ArbeitsgangID in eine Tabelle aufnehmen oder kann das automatisch passieren? Wenn ich die Daten über ein Formular eingeben würde, dann würde die Vergabe der Fremdschlüssel doch "im Hintergrund" erfolgen, beim Import doch nicht ...

Oder stehe ich hier auf dem Schlauch?

Gruß
Andreas