Beste allemaal,
Op dit moment maak ik gebruik van de volgende code om gegevens in een Access database te verwijderen zodra er op delete wordt geklikt:
De code staat geplaatst in een Userform in Excel.
Is het mogelijk om de record die verwijderd wordt eerst te kopiëren (of verplaatsen) naar een andere tabel (met dezelfde structuur) in dezelfde database?
Ik dacht zelf aan de insert into SQL statement maar ik weet niet of ik goed zit en hoe ik dat goed kan toepassen.
Is er iemand die mij hier mee verder zou kunnen helpen?
Wordt zeer gewaardeerd!
Op dit moment maak ik gebruik van de volgende code om gegevens in een Access database te verwijderen zodra er op delete wordt geklikt:
Code:
Private Sub cmdDelete_db_Click()
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim dbPath As String
Dim i As Integer
Dim x As Integer
On Error GoTo errHandler:
If Me.Delete0.Value = "" Then
MsgBox "Unknown ID number. Unable to delete without ID", _
vbOKOnly Or vbInformation, "Insufficent data"
Exit Sub
End If
If MsgBox("Deleting a record can not be reversed" _
& vbCrLf & "do you want to proceed?", vbYesNo + vbCritical, "Confirm action") = vbNo Then Exit Sub
dbPath = "A:\Desktop\XXXXXXXXXX.accdb"
Set cnn = New ADODB.Connection
cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbPath
Set rs = New ADODB.Recordset
rs.Open "SELECT * FROM Access_Database " & _
"WHERE ID = " & CLng(Me.Delete0), ActiveConnection:=cnn, _
CursorType:=adOpenDynamic, LockType:=adLockOptimistic, _
Options:=adCmdText
If rs.EOF And rs.BOF Then
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
Application.ScreenUpdating = True
MsgBox "The record isn't found. Process canceled.", vbCritical, "No Records"
Exit Sub
End If
'Hier vindt het verwijderen plaats. Eigenlijk zou ik willen dat eerst rs gekopieerd wordt naar een andere tabel in dezelfde database (tabel: Access_database2) alvorens de record verwijderd wordt.
rs.Delete
For x = 0 To 14
Me.Controls("Delete" & x).Value = ""
Next
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
Application.ScreenUpdating = True
ImportFromAccess
Me.lstDataFromAccess.RowSource = "DataAccess"
MsgBox "Data has been deleted", vbInformation, "Deletion successful"
On Error GoTo 0
Exit Sub
errHandler:
'clear memory
Set rs = Nothing
Set cnn = Nothing
MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure cmdDelete"
End Sub
De code staat geplaatst in een Userform in Excel.
Is het mogelijk om de record die verwijderd wordt eerst te kopiëren (of verplaatsen) naar een andere tabel (met dezelfde structuur) in dezelfde database?
Ik dacht zelf aan de insert into SQL statement maar ik weet niet of ik goed zit en hoe ik dat goed kan toepassen.
Is er iemand die mij hier mee verder zou kunnen helpen?
Wordt zeer gewaardeerd!