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