rs.Edit oder rs.AddNew
Hallo Mathias
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset(„Global“, dbOpenDynaset)
dbOpenTable hätte es auch getan… der Fehler liegt an anderer Stelle:
Wenn du die Tabelle öffnest, dann steht der Pointer auf dem ersten Datensatz - wenn einer vorhanden ist!
Welches der erste Datensatz ist, ist nicht immer eindeutig bestimmt (hängt u.a. davon ab, ob die Tabelle einen Primärschlüssel hat). Im „Normalfall“ würdest du die Tabelle z.B. sortiert öffnen (also durch eine SQL-Anweisung mit „ORDER BY“), oder dich durch die „Find“-Methode auf einen bestimmten Datensatz positionieren.
Wenn Du also jetzt diesen aktuellen Datensatz ändern möchtest, dann musst du dies erst einmal durch die „Edit“-Methode einleiten, also:
rs.Edit
Ist kein Datensatz vorhanden, oder möchtest du sowieso einen Datensatz hinzufügen, dann musst du dies durch die „AddNew“-Methode einleiten, also:
rs.AddNew
Dann kannst du so fortfahren, wie in deinem Beispiel.
rs(„Zählung“) = 1
rs.Update
rs.Close
BTW: rs![Zählung] = rs!Zählung = rs(„Zählung“)
Alle diese Anweisungen sind äquivalent. Welche du benutzen möchtest, bleibt dir überlassen. Die eckigen Klammern musst du verwenden, wenn dein Feldname z.B. eine Leestelle enthält.
P.S.:Sorry wegen der Ironie aber dieses Forum besteht ja nur,
weil Microsoft so @$#! Hilfen schreibt
Das Problem ist - wie meistens - dass du nicht weisst, wonach du suchen sollst. Das liegt aber nicht an dir - mir geht es da genauso - das liegt am Prinzip. Wenn man weiss, wonach man suchen muss, dann bietet die Access-Hilfe ausreichend Erklärungen und Beispiele.
Gruss
Peter