Abfrage soll keine alten Daten aktualisieren
Hallo!
Ich habe eine Accessdb. Ich vereinfache mal das Problem:
2 Tabellen
1. Mitarbeiter: (Name (ID), Stundenlohn
2. Erfassung: (AuftragsNr, Mitarbeiter (von 1. Tabelle), Stunden)
Daraus habe ich eine Abfrage gebaut die mir den Stundensatz berechnet also:
AuftragsNr, NameMitarbeiter, Stunden, Stundenlohn, Summe (Stunden*Stundenlohn)
Nun kann ich ja diese Abfrage ausführen und noch weitere Berichte etc daraus generien.
Das Problem ist, das wenn ich nun den Stundensatz des Mitarbeiters ändere, ändern sich auch die Personalkosten der vergangenen Aufträge dies möchte ich nicht.
Was ist die beste Möglichkeit um dies zu vermeiden? OHNE den Wert selbst eingeben zu müssen!
Vielen Dank
LG CHRIS
Ich habe eine Accessdb. Ich vereinfache mal das Problem:
2 Tabellen
1. Mitarbeiter: (Name (ID), Stundenlohn
2. Erfassung: (AuftragsNr, Mitarbeiter (von 1. Tabelle), Stunden)
Daraus habe ich eine Abfrage gebaut die mir den Stundensatz berechnet also:
AuftragsNr, NameMitarbeiter, Stunden, Stundenlohn, Summe (Stunden*Stundenlohn)
Nun kann ich ja diese Abfrage ausführen und noch weitere Berichte etc daraus generien.
Das Problem ist, das wenn ich nun den Stundensatz des Mitarbeiters ändere, ändern sich auch die Personalkosten der vergangenen Aufträge dies möchte ich nicht.
Was ist die beste Möglichkeit um dies zu vermeiden? OHNE den Wert selbst eingeben zu müssen!
Vielen Dank
LG CHRIS
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 58968
Url: https://administrator.de/forum/abfrage-soll-keine-alten-daten-aktualisieren-58968.html
Ausgedruckt am: 19.04.2025 um 17:04 Uhr
2 Kommentare
Neuester Kommentar

Hallo,
das Thema hatten wir ja schon mal.
Also die sauberste Lösung (aber auch die aufwendigste) ist eine weitere Tabelle, die in etwa so aussieht:
Spalte 1: Mitarbeiter
Spalte 2: Datum_von
Spalte 3: Datum_bis
Spalte 4: Stundensatz
Hier pflegst Du die Stundensätze und musst diese Tabelle in allen Abfragen, die die Stundensätze benötigen, mit verknüpfen.
Gruß - René
das Thema hatten wir ja schon mal.
Also die sauberste Lösung (aber auch die aufwendigste) ist eine weitere Tabelle, die in etwa so aussieht:
Spalte 1: Mitarbeiter
Spalte 2: Datum_von
Spalte 3: Datum_bis
Spalte 4: Stundensatz
Hier pflegst Du die Stundensätze und musst diese Tabelle in allen Abfragen, die die Stundensätze benötigen, mit verknüpfen.
Gruß - René
Hallo Chris,
ich würde es so machen
Für Mitarbeiter und Auftrag je eine Tabelle, eine Abfrage und ein Formular erstellen.
Jeder Mitarbeiter erhält eine Mitarbeiternummer.
Im Formular Auftrag sind die Felder Mitarbeiternummer, Mitarbeitername, Stundensatz.
Im Formular Auftrag im Feld Mitarbeiternummer trägst Du dann die entsprechende Nummer ein
Über eine Schaltfläche, die Du irgendwo im Formular Auftrag plazierst, wird folgendes Makro gestartet.
Makro1
Öffnen Formular: Mitarbeiter
Gehe zu Steuerelement: Mitarbeiternummer
Suchen Datensatz:[Formulare].[Mitarbeiter].[Mitarbeiternummer]
Öffnen Formular: Auftrag
Setzen Wert: Feld=Mitarbeitername, Audruck=[Formulare].[Mitarbeiter].[Mitarbeitername]
Setzen Wert: Feld=Stundensatz, Audruck=[Formulare].[Mitarbeiter].[Stundensatz]
Schließen: Objekttyp=Mitarbeiter
Viele Grüße
Torsten
ich würde es so machen
Für Mitarbeiter und Auftrag je eine Tabelle, eine Abfrage und ein Formular erstellen.
Jeder Mitarbeiter erhält eine Mitarbeiternummer.
Im Formular Auftrag sind die Felder Mitarbeiternummer, Mitarbeitername, Stundensatz.
Im Formular Auftrag im Feld Mitarbeiternummer trägst Du dann die entsprechende Nummer ein
Über eine Schaltfläche, die Du irgendwo im Formular Auftrag plazierst, wird folgendes Makro gestartet.
Makro1
Öffnen Formular: Mitarbeiter
Gehe zu Steuerelement: Mitarbeiternummer
Suchen Datensatz:[Formulare].[Mitarbeiter].[Mitarbeiternummer]
Öffnen Formular: Auftrag
Setzen Wert: Feld=Mitarbeitername, Audruck=[Formulare].[Mitarbeiter].[Mitarbeitername]
Setzen Wert: Feld=Stundensatz, Audruck=[Formulare].[Mitarbeiter].[Stundensatz]
Schließen: Objekttyp=Mitarbeiter
Viele Grüße
Torsten