Set rs mit WHERE + AND
Umbauwfb
Gesendet: 03.03.22 08:59
Betreff: Set rs mit WHERE + AND


Member

Beiträge: 6

Hallo, ich komme an der Stelle

& " AND TeilnehmerID = " & vID_zu, dbOpenDynaset)

nicht weiter...wie muss ich den SQL-Befehl dort schreiben?
Kann sich das mal jemand anschauen?

Die Beschreibung der Aufgabenstellung hängt als jpg an.

Vielen Dank
Harry


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

Set dB = CurrentDb
vID_von = Me.txtFirmenID_von.Value 'braucht man das .Value? Brauche ich die Variable oder kann ich direkt den Wert des Textfelds einsetzen?
vID_zu = Me.txtFirmenID_zu.Value 'braucht man das .Value? Brauche ich die Variable oder kann ich direkt den Wert des Textfelds einsetzen?

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 = " & rs_von!TeilnehmerID, dbOpenDynaset) 'dieser Block läuft...
'warum läuft der Block mit AND nicht?

' Set rs_zu = dB.OpenRecordset("SELECT" _
' & " Count (*) As Anz FROM TeilnehmerAdressdatenT" _
' & " WHERE AdressdatenID = " & rs_von!TeilnehmerID" _
' & " AND TeilnehmerID = " & vID_zu, dbOpenDynaset) 'wie muss ich die Stelle mit dem AND schreiben?
'

Debug.Print rs_zu!Anz

If rs_zu!Anz = 0 Then
rs_zu!AdressdatenID = rs_von!AdressdatenID
Exit Do
End If

rs_von.MoveNext
Loop

sSQL = "DELETE FROM TeilnehmerAdressdatenT WHERE AdressdatenID = & vID_von.Value"
CurrentDb.Execute sSQL, dbFailOnError


'Aufräumen
Set rs_von = Nothing
Set rs_zu = Nothing
Set dB = Nothing

End Sub

Edited by Umbauwfb 03.03.22 08:11


Anhänge
----------------
Anhänge Teilnehmer verschieben.jpg (135KB - 4 downloads)
Top of the page Bottom of the page