Hoi, ik heb een datagrid die een tabel weergeft uit een database (via ado control met odbc koppeling). Nu wil ik dat als er op een record in de datagrid op dete gedrukt wordt dat de record niet wordt gedelete maar dat de velden in de record de waarde verwijderd krijgen. Het delete gebeuren moet dus afgevangen worden en omgezet worden in een update.
[script]
Private Sub dtgExtern_BeforeUpdate(Cancel As Integer)
If (adoExtern.Recordset.EditMode = 4) Then
adoExtern.Recordset.CancelBatch
bVerwerken = True
strZoek = dtgExtern.Columns.Item(0).Text
adoExtern.RecordSource = "SELECT * FROM Extern WHERE Extern='" & strZoek & "'"
adoExtern.Refresh
adoExtern.Recordset.Update 1, "Verwijderd"
End If
End Sub
[/script]
Het werkt op zich wel, hij delete de record niet en vervangt de inhoud van veld 1 in de record door de tekst Verwijderd. Maar het datagrid laat de wijzeging niet zien. En als ik bijvoorbeeld de standaard query weer run in de ado control en de datagrid refresh dan blijft het gehele zooitje hangen. Iemand al eens eerder zo iets gedaan, of een bruikbare link?
[script]
Private Sub dtgExtern_BeforeUpdate(Cancel As Integer)
If (adoExtern.Recordset.EditMode = 4) Then
adoExtern.Recordset.CancelBatch
bVerwerken = True
strZoek = dtgExtern.Columns.Item(0).Text
adoExtern.RecordSource = "SELECT * FROM Extern WHERE Extern='" & strZoek & "'"
adoExtern.Refresh
adoExtern.Recordset.Update 1, "Verwijderd"
End If
End Sub
[/script]
Het werkt op zich wel, hij delete de record niet en vervangt de inhoud van veld 1 in de record door de tekst Verwijderd. Maar het datagrid laat de wijzeging niet zien. En als ik bijvoorbeeld de standaard query weer run in de ado control en de datagrid refresh dan blijft het gehele zooitje hangen. Iemand al eens eerder zo iets gedaan, of een bruikbare link?