modDSVerschieben (Datensätze verschieben)

 

Function DSVerschieben(strQuelle As String, _
strZiel As String, _
strFeldname As String, _
varFeldwert As Variant) As Integer

Dim strSQL As String

DSVerschieben = 0
strSQL = „INSERT INTO [“ & strZiel & „] „
strSQL = strSQL & „SELECT [“ & strQuelle & „].* FROM [“ & strQuelle & „] „
strSQL = strSQL & „WHERE [“ & strQuelle & „].[“ & strFeldname & „] = „
If TypeName(varFeldwert) = „String“ Then
strSQL = strSQL & „‚“ & varFeldwert & „‚;“
Else
strSQL = strSQL & varFeldwert & „;“
End If

On Error Resume Next
DoCmd.RunSQL strSQL, False
If Err <> 0 Then
Beep
MsgBox „Fehler beim Übertragen: “ & Err.Description, _
vbOKOnly + vbExclamation, _
„!!! Problem !!!“
DSVerschieben = 1
Exit Function
End If

strSQL = „DELETE * FROM [“ & strQuelle & „] „
strSQL = strSQL & „WHERE [“ & strQuelle & „].[“ & strFeldname & „] = „
If TypeName(varFeldwert) = „String“ Then
strSQL = strSQL & „‚“ & varFeldwert & „‚;“
Else
strSQL = strSQL & varFeldwert & „;“
End If

Err = 0
DoCmd.RunSQL strSQL, False
If Err <> 0 Then
Beep
MsgBox „Fehler beim Löschen: “ & Err.Description, _
vbOKOnly + vbExclamation, _
„!!! Problem !!!“
DSVerschieben = 2
Exit Function
End If

End Function