Access: Abfrage mit Ergebnissen aus Abfrage aktualisieren

Communicate

Mitglied
Hallo,

ich stehe etwas auf dem Schlauch.

Ich habe eine tabelle "Status". dort wird bei jedem Statuswechsel auch der Mitarbeiter sowie die jeweilige Vorgangs-ID weggeschrieben.

Einmal am Tag sollen nun bei allen Vorgängen, die fertig gestell sind die Mitarbeiter gelöscht werden.

Im Prinzip bräcuhte ich also eine ABfrage die mir alle Vorgangs_ID ausliest, bei welchen der Status fertig ist und diese ausgelesenen ID´s müssten im zweitenschritt die Basis für eine Aktualisierungsabfrage sein, bei der alle Namen der Mitarbeiter auf NULL gesetzt werden, die den Vrgangs_IDs entsprechen, die in Schritt1 ermittelt wurden.

Geht so etwas überhaupt mit Access?

Grüße
Communicate
 
Wo steht ob der Vorgang fertig ist oder nicht, auch in der Tabelle "status"?

Dann ist es doch eine einfache UPDATE-Anweisung:

SQL:
UPDATE status SET mitarbeiter = "" WHERE status = "fertig"

Wenn der status in einer anderen Tabelle steht, dann musst du es mit JOIN lösen:

SQL:
UPDATE status AS s INNER JOIN andere_tabelle AS a ON s.id = a.id SET s.mitarbeiter = ""
WHERE a.status = 'fertig'
 
Zuletzt bearbeitet:
Hallo,

also es ist eine Tabelle.

Aufbau ist quasi so:

Vorgangs_ID status Mitarbeiter

123 in Arbeit Müller
123 in Prüfung Meier
123 fertig
456 in Arbeit Müller1
456 in Prüfung Meier1
456 fertig
789 in Arbeit Huber

Der Quert muss jetzt alle Vorgangs_IDs suchen, die ein fertig haben (im Beispiel also 123 und 456). Anschliessend müssten alle Mitarbeiter zu den Vorgangs_ID 123 und 456 gelöscht werden. 789 bleibt quasi offen.

Ich hoffe, jetzt ist es deutlicher geworden...
 
Dann müsste das hier die Lösung sein:

SQL:
UPDATE name_der_tabelle AS t1 INNER JOIN name_der_tabelle AS t2 ON t1.Vorgangs_ID = t2.Vorgangs_ID SET t1.Mitarbeiter = ""  WHERE t2.status = "fertig"

"name_der_tabelle" ist an beiden Stelle die gleiche Tabelle. Ist ungetestet, mach dir also vorher eine Kopier der Tabelle!
 

Neue Beiträge

Zurück