VB6 - Datensatz beim Laden von Recordset sperren

Hallo zusammen,

ich zeige in einem Flexgrid mehrere Datensätze einer Tabelle an.
Per Doppelklick soll sich ein Fenster öffnen, in dem man den ausgewählten Datensatz bearbeiten kann. Ein Bearbeiten im Grid selbst ist nicht möglich.
Damit nun im Mehr-User-Modus kein anderer den gerade ausgewählten Datensatz ändert, will ich ihn sperren. Das klappt aber leider nicht. Hab’s mit verschiedenen CursorTypes und Locations probiert, aber entweder kriegt die Abfrage keine Datensätze als Antwort (es müßte genau ein Datensatz sein), oder sie läßt den geöffneten Datensatz zum Bearbeiten durch andere offen. (Hab das Bearbeiten simultan mit anderen Programmen probiert).

Hier mal der Code:

Public conDNV As ADODB.Connection
Dim rsJob As ADODB.Recordset

Set conDNV = New ADODB.Connection
With conDNV
.Provider = „MSDASQL.1“
.CursorLocation = adUseClient ’ auf dem Client arbeiten
'.CursorLocation = adUseServer ’ auf dem Server arbeiten
.Mode = adModeShareDenyNone ’ erlaubt im MultiUser-Bereich das Öffnen anderer Verbindungen
’ ohne Beschränkungen (lesen/schreiben/beides)
.ConnectionTimeout = 60 ’ Wartezeit für das Öffnen der Verbindung in Sekunden
.CommandTimeout = 600 ’ Wartezeit für Kommandos in Sekunden
.ConnectionString = „Password=dev:stuck_out_tongue_winking_eye:ersist Security Info=False;“ & _
„User ID=dev;Data Source=A88“
.Open
End With

sql = "SELECT job_ausg_id, job_bez, job_endkunde, job_plattform, job_dienstleister, job_notiz, " & _
"job_erledigt_am, job_berechnen, job_rechn_nr, job_rechn_datum FROM jobs " & _
"WHERE job_id = " & JobID ’ JobID ist hier valide gefüllt
Set rsJob = New ADODB.Recordset
rsJob.Open sql, conDNV, adOpenKeyset, adLockPessimistic ’ Datensatz für andere sperren

Leider scheint adLockPessimistic keinerlei sperrende Wirkung zu haben.
Mit adUseServer oder adOpenDynamic wurde es auch nicht besser.
Woran liegt’s?

Danke
Crazy

Hallo Crazy,

ich habe nicht die Zeit da mal genauer zu schaun. Aber hast du dir einmal die ereignisse von der Connection und vom Recordset angeschaut ob da was brauchbares bei ist?

MfG Alex