Hallo,
Ich hoffe ihr könnt mir bei meinem Problem helfen. Ich speichere Dienstpläne aus Excel Tabellen in einer Access Datenbank. Für die Basics (SELECT, INSERT, UPDATE,...) reicht mein Sql aus. Für das, was ich jetzt brauche allerdings nicht mehr.
Ich habe (unter anderem) zwei Tabellen.
Tabelle 1 beinhaltet den Dienstplan von Mitarbeitern. Es gibt ein Feld für Namen, Datum, Dienst und Info. Pro Tag und Person gibt es einen Eintrag,
z.B. AA | 07.12.2020 | A | Irgendeine Information.
AA | 08.12.2020 | A | Irgendeine andere Information (oder auch einfach leer)
Da es bei uns mehrere Dienstgruppen mit verschiedenen Aufgaben gibt (wobei eine Person zu mehreren Dienstgruppen gehören kann), gibt es eine zweite Tabelle, in der den Dienstabkürzungen (im oberen Beispiel "A") eine Dienstgruppe zugewiesen wird. Also z.B. "A" | Gruppe 1 - "B" | Gruppe 1 - "C" | Gruppe 2,...
Meine Aufgabe jetzt in einem bestimmten Datumsbereich in Tabelle 1 - Feld "Info" einen bestimmten Text zu schreiben, aber nur, wenn der Dienst an diesem Tag von Gruppe 1 ist. Alle anderen Infofelder bleiben leer.
Ich hoffe, ihr versteht, auf was ich hinaus will. Im Internet habe ich schon ein paar Einträge gefunden, bei denen das mit INNER JOIN gemacht wird, aber es funktioniert nicht.
Das wäre mein aktueller Ansatz, der nicht funktioniert (Datum ist nur Dummywert, bitte nicht auf Syntax des Datums schauen):
UPDATE tblDienstplan
SET sInfo= 'Krank'
FROM tblDienstplan
INNER JOIN tblDienstverwendung ON tblDienstplan.sDuty = tblDienstverwendung.sDuty
WHERE tblDienstverwendung.Dienstgruppe = 'Gruppe 1'
AND dteDate>= #09/12/2020#
AND dteDate<= #09/15/2020#
AND mitarbeiter= 'AA';
LG Flo
|