After a hard fight, the code finally is working perfectly
Thank you very much!
Your hints were very helpful!
Best regards
Harry
Code:
Private Sub cmdTeilnehmerVerschieben_Click()
Dim dB As DAO.Database
Dim rs_von As DAO.Recordset
Dim rs_zu As DAO.Recordset
Dim vID_von As Long
Dim vID_zu As Long
Dim sSQL As String
Dim sSQL1 As String
Set dB = CurrentDb
vID_von = Me.txtFirmenID_von
vID_zu = Me.txtFirmenID_zu
Set rs_von = dB.OpenRecordset("SELECT" _
& " * FROM TeilnehmerAdressdatenT" _
& " WHERE AdressdatenID = " & vID_von, dbOpenSnapshot)
Do Until rs_von.EOF
Set rs_zu = dB.OpenRecordset("SELECT" _
& " Count (*) As Anz FROM TeilnehmerAdressdatenT" _
& " WHERE AdressdatenID = " & vID_zu _
& " AND TeilnehmerID = " & rs_von!TeilnehmerID, dbOpenSnapshot)
Debug.Print rs_zu!Anz
If rs_zu!Anz = 0 Then
' TEST-Druck
' sSQL = "SELECT (*) FROM TeilnehmerAdressdatenT "
' sSQL = sSQL & " WHERE AdressdatenID = " & vID_von & " "
' sSQL = sSQL & " AND TeilnehmerID = " & rs_von!TeilnehmerID
' Debug.Print sSQL
sSQL1 = "UPDATE TeilnehmerAdressdatenT SET AdressdatenID = '" & vID_zu & "'"
sSQL1 = sSQL1 & " WHERE AdressdatenID = " & vID_von & " "
sSQL1 = sSQL1 & " AND TeilnehmerID = " & rs_von!TeilnehmerID
' Debug.Print sSQL1
CurrentDb.Execute sSQL1, dbFailOnError
' Debug.Print vID_zu
' Exit Do
Else
End If
rs_von.MoveNext
Loop
sSQL = "DELETE * FROM TeilnehmerAdressdatenT WHERE AdressdatenID = " & vID_von & " "
CurrentDb.Execute sSQL, dbFailOnError
'Aufräumen
Set rs_von = Nothing
Set rs_zu = Nothing
Set dB = Nothing
End Sub