Werte in Tabellen miteinander vergleichen

Hallo Access- Freunde,

ich habe mal wieder ein Problem. Ich habe zwei tabellen, die miteinander verglichen werden sollen. Beides sind verknüpfte Tabellen. Die Tabelle tbl Verantwortlich komm aus einer anderen Access- Datenbank und die tbl_Kurzzeichen ist eine Exceltabelle, die immer aktualisiert wird. Nun hab ich zu tbl_Kurzzeichen eine Abfr_kurzzeichen gemacht. Nun möchte ich, dass in einer Abfrage alle Datensätze angezeigt werden, bei denen das Feld Verantwortlichkeit übereinstimmt. Das hab ich über eine Abfrage gemacht. Hier das SQL dazu:

SELECT tblVerantwortlich.Verantwortlich, Abfr_Kurzzeichen.Verantwortlich, tblVerantwortlich.Kurzzeichen, tblVerantwortlich.angestellt
FROM tblVerantwortlich INNER JOIN Abfr_Kurzzeichen ON tblVerantwortlich.Verantwortlich = Abfr_Kurzzeichen.Verantwortlich
WHERE (((tblVerantwortlich.Verantwortlich)=[Verantwortlich]));

Nun gibt es noch in der tblVerantwortlich eine Spalte, die heißt angestellt und enthält Kontrollkästchen, bei denen markiert wird, wer noch angestellt ist und wer nicht. Die Exceltabelle enthält alle Angestellten, die Access- Tabelle auch die, die nicht mehr angestellt sind. Nun möchte ich, dass bei allen Verantwortlichen, die in der Abfrage gelistet sind, ein Haken in das Feld „angestellt“ gesetzt wird. Ich hab es schon über die Abfrage versucht, aber keine Chance. Wollte dann eine VBA programmieren und komm dort aber auch nicht weiter. Hier die VBA:

Private Sub Form_Open(Cancel As Integer)

Dim db As Database
Dim rs_Verantwortlich As Recordset
Dim rs_Kurzzeichen As Recordset
Dim rs_Tabelle As Recordset
Dim A As String
Me.Requery

Set db = CurrentDb()

Set rs_Verantwortlich = db.OpenRecordset(„Test“, dbOpenDynaset)
Set rs_Tabelle = db.OpenRecordset(„tblVerantwortlich“, dbOpenDynaset)
Set rs_Kurzzeichen = db.OpenRecordset(„Abfr_Kurzzeichen“, dbOpenDynaset)

rs_Verantwortlich.MoveFirst

Do
A = rs_Verantwortlich!Verantwortlich.Value
rs_Kurzzeichen.MoveFirst
rs_Kurzzeichen.FindFirst A

If rs_Kurzzeichen.NoMatch = False Then
rs_Tabelle.Edit
rs_Tabelle!angestellt = True
rs_Tabelle.Update

Else
rs_Tabelle.Edit
rs_Tabelle!angestellt = False
rs_Tabelle.Update

End If

rs_Verantwortlich.MoveNext
Loop Until rs_Verantwortlich.EOF = True

End Sub

Es kommt immer der Laufzeitfehler 3077 (Syntaxfehler (Komma) in Ausdruck). Wie behebe ich das Problem? Wäre ganz toll, wenn mir einer von euch helfen könnte.

Viele Grüße von Beate

Hallo Beate,

Ich hab es schon über die Abfrage versucht, aber keine Chance.

über eine Aktualisierungs-Abfrage sollte es ohne weiters möglich sein.
Eine „normale“ Abfage funktioniert da nicht.

Grüße aus Essen
Wolfgang