qwertz1
Goto Top

VBA Access: Synchronisation zwischen Recordset und Access Tabelle

Hallo,
Ich habe in Access ein VBA-Skript programmiert. Das Skript holt sich Daten von einer MySQL Server. Das funzt auch. Die Daten sollen bearbeitet und letztendlich in Word ausgedruckt werden. Bei der Bearbeitung werden Daten gefiltert und sortiert. Diese gefilterten und sortierten Daten sollen dann gedruckt werden. Jetzt ist mir aufgefallen, dass der aktuelle Zustand der Tabelle nicht synchron ist mit dem dazugehörigen Recordset. Konkret: Die Tabelle ist nach ID aufsteigend sortiert. Ich sortiere die Tabelle absteigend. Die grösste ID steht nun an erster Stelle.
Dann gibt der folgende Code trotzdem die kleinste ID aus:

Set rs_access = CurrentDb.OpenRecordset("Spieler", dbOpenDynaset)
rs_access.Move 0
MsgBox (rs_access.Fields("id").Value)

Was muss ich machen, damit die Tabelle und das Recordset immer synchron sind.
Muss den ganzen Kram von Excel nach Access konvertieren. Bei Excel greift man ja mit Cell direkt auf die Tabelle zu.

Content-Key: 252000

Url: https://administrator.de/contentid/252000

Printed on: April 24, 2024 at 15:04 o'clock

Member: qwertz1
qwertz1 Oct 15, 2014 at 12:20:10 (UTC)
Goto Top
Anders gefragt: Gibt es eine Möglichkeit in Access mittels VBA direkt auf eine Tabelle zuzugreifen wie in Excel?
Member: vossbaer
vossbaer Jan 23, 2015 at 10:54:04 (UTC)
Goto Top
Du könntest ein Recordset Objekt erzeugen und eine SQL Abfrage zuordnen.


Dim rst As DAO.Recordset
'db die aktuelle Datenbank zuweisen
Set db = CurrentDb

'Recordset Variablen Den SQL Befehl zuweisen. ORDER BY sorgt hier für die Sortierung.
Set rst = db.OpenRecordset("SELECT id, Vorname, Nachname FROM Spieler ORDER BY id", dbOpenDynaset)