Januar 18, 2022, 12:23:53

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Fehler beim Kompilieren...Objekt erforderlich

Begonnen von Umbauwfb, Januar 05, 2022, 17:18:11

⏪ vorheriges - nächstes ⏩

Umbauwfb

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

DF6GL

Hallo,

es muss halt der Kombifeld-Wert zugewiesen werden....


                                           

sSQL2 = sSQL & " UPDATE tmpCheckDuplikateTN_Zu_Adressdaten2T "
sSQL2 = sSQL & " SET TeilnehmerID = " & Me!cbxTeilnehmerSelect

PhilS

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.
Access DevTools - Find and Replace
Komfortables Suchen und Ersetzen in den Entwurfseigenschaften von Access-Objekten. In Abfragen, Formularen, Berichten und VBA-Code - Überall und rasend schnell!

DF6GL

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

Umbauwfb

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)