Hallo,
ich möchte ein Formular mit einem disconnected Recordset füllen, bearbeiten und dann mit updatebatch die Änderungen speichern.
Wenn ich den Rst zum Test in VBA verändere kann ich die connection setzen und dann mit update batch die Änderungen schreiben. Nur wenn das Formular die Änderungen verwaltet bekomme ich das leider nicht hin.
(Hintergrund sind lange Zugriffszeiten und personengebundene Daten)
hier mein code:
(die sub werden beim Laden bzw. Schließen aufgerufen)
Danke schon einmal.
Public Conn As ADODB.Connection
Public Rs As ADODB.Recordset
Sub Setze_Daten()
Set Conn = New ADODB.Connection
With Conn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "D:\Database2_be.accdb"
.CursorLocation = adUseClientBatch
.Mode = adModeShareDenyNone
.Open
End With
Set Rs = New ADODB.Recordset
With Rs
.CursorLocation = adUseClientBatch
.CursorType = adOpenDynamic
.LockType = adLockBatchOptimistic
Set .ActiveConnection = Conn
.Source = "Select * from Tabelle1"
.Open
End With
' Disconnect the recordset.
Set Rs.ActiveConnection = Nothing
Set Form_Tabelle1_Form.Recordset = Rs
Conn.Close
End Sub
Sub Speicher_Daten()
Set Conn = New ADODB.Connection
With Conn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "D:\Database2_be.accdb"
.CursorLocation = adUseClientBatch
.Mode = adModeShareDenyNone
.Open
End With
Set Rs = Form_Tabelle1_Form.Recordset
Set Rs.ActiveConnection = Conn
Rs.UpdateBatch
Rs.Close
Conn.Close
Set Rs = Nothing
Set Conn = Nothing
Set Form_Tabelle1_Form.Recordset = Nothing
End Sub
ich möchte ein Formular mit einem disconnected Recordset füllen, bearbeiten und dann mit updatebatch die Änderungen speichern.
Wenn ich den Rst zum Test in VBA verändere kann ich die connection setzen und dann mit update batch die Änderungen schreiben. Nur wenn das Formular die Änderungen verwaltet bekomme ich das leider nicht hin.
(Hintergrund sind lange Zugriffszeiten und personengebundene Daten)
hier mein code:
(die sub werden beim Laden bzw. Schließen aufgerufen)
Danke schon einmal.
Public Conn As ADODB.Connection
Public Rs As ADODB.Recordset
Sub Setze_Daten()
Set Conn = New ADODB.Connection
With Conn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "D:\Database2_be.accdb"
.CursorLocation = adUseClientBatch
.Mode = adModeShareDenyNone
.Open
End With
Set Rs = New ADODB.Recordset
With Rs
.CursorLocation = adUseClientBatch
.CursorType = adOpenDynamic
.LockType = adLockBatchOptimistic
Set .ActiveConnection = Conn
.Source = "Select * from Tabelle1"
.Open
End With
' Disconnect the recordset.
Set Rs.ActiveConnection = Nothing
Set Form_Tabelle1_Form.Recordset = Rs
Conn.Close
End Sub
Sub Speicher_Daten()
Set Conn = New ADODB.Connection
With Conn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "D:\Database2_be.accdb"
.CursorLocation = adUseClientBatch
.Mode = adModeShareDenyNone
.Open
End With
Set Rs = Form_Tabelle1_Form.Recordset
Set Rs.ActiveConnection = Conn
Rs.UpdateBatch
Rs.Close
Conn.Close
Set Rs = Nothing
Set Conn = Nothing
Set Form_Tabelle1_Form.Recordset = Nothing
End Sub