Hallo,
ich schreibe selektierte Datensätze aus einer bestehenden Tabelle in eine temporäre Tabelle
Das schreiben funktioniert
Im zweiten Schritt will ich das Feld "TeilnehmerID" mit dem aktiven Wert der Kombinationsbox "cbxTeilnehmerSelect" updaten
Hier erhalte ich die Fehlermeldung Fehler beim Kompilieren...Objekt erforderlich bei "Set UpdateID = Me.cbxTeilnehmerSelect.Value"
Was mache ich falsch??
Kann mir jemand helfen?
Private Sub cmdAddAdressdatenTN_Click()
Dim db As Database
Dim sSQL As String
Dim sSQL2 As String
Dim UpdateID As Integer
Set db = CurrentDb
Set UpdateID = Me.cbxTeilnehmerSelect.Value
CurrentDb.Execute "DELETE FROM tmpCheckDuplikateTN_Zu_Adressdaten2T"
sSQL = sSQL & " INSERT INTO tmpCheckDuplikateTN_Zu_Adressdaten2T "
sSQL = sSQL & " SELECT * "
sSQL = sSQL & " FROM tmpCheckDuplikateTN_Zu_AdressdatenT "
sSQL = sSQL & " WHERE Übernehmen = True "
CurrentDb.Execute (sSQL)
MsgBox Me.cbxTeilnehmerSelect.Value 'Die Messagebox liefert die richtige ID
sSQL2 = sSQL & " UPDATE tmpCheckDuplikateTN_Zu_Adressdaten2T "
sSQL2 = sSQL & " SET TeilnehmerID = UpdateID"
CurrentDb.Execute (sSQL2)
End Sub
Hallo,
es muss halt der Kombifeld-Wert zugewiesen werden....
sSQL2 = sSQL & " UPDATE tmpCheckDuplikateTN_Zu_Adressdaten2T "
sSQL2 = sSQL & " SET TeilnehmerID = " & Me!cbxTeilnehmerSelect
Zitat von: Umbauwfb am Januar 05, 2022, 17:18:11Hier erhalte ich die Fehlermeldung Fehler beim Kompilieren...Objekt erforderlich bei "Set UpdateID = Me.cbxTeilnehmerSelect.Value"
Das
Set-Schlüsselwort ist nur für die Zuweisung von Objektvariablen zulässig. Deine
UpdateId ist aber ein Integer und kein Objekt.
Hallo,
wenn man es ganz genau nehmen will,
sollte es eh so lauten:
ZitatPrivate Sub cmdAddAdressdatenTN_Click()
Dim db As Database
Dim sSQL As String
Dim sSQL2 As String
Dim lngUpdateID As Long
Set db = CurrentDb
lngUpdateID = Me.cbxTeilnehmerSelect.Value
db.Execute "DELETE FROM tmpCheckDuplikateTN_Zu_Adressdaten2T"
sSQL = sSQL & " INSERT INTO tmpCheckDuplikateTN_Zu_Adressdaten2T "
sSQL = sSQL & " SELECT * "
sSQL = sSQL & " FROM tmpCheckDuplikateTN_Zu_AdressdatenT "
sSQL = sSQL & " WHERE Übernehmen = True "
db.Execute sSQL, dbFailOnError
MsgBox Me.cbxTeilnehmerSelect.Value 'Die Messagebox liefert die richtige ID
sSQL2 = sSQL & " UPDATE tmpCheckDuplikateTN_Zu_Adressdaten2T "
sSQL2 = sSQL & " SET TeilnehmerID = " & lngUpdateID
db.Execute sSQL2 , dbFailOnError
Set db = Nothing
End Sub
Herzlichen Dank an alle für die Hilfe :)
Insbesondere der komplette Code hat mir sehr geholfen.
Ich habe das Thema jetzt auch durchgängig verstanden :)
Ich bin eben noch ziemlich blutiger Anfänger...
Jetzt geht's erst mal weiter mit dem Projekt...
...ich befürchte...bis bald... 8)