Inhalt einer Variablen in Tabelle einfügen

… eigentlich sollte es doch ganz einfach sein.
Ich möchte den Inhalt einer vorher definierten Variablen per Einfügeabfrage in eine Tabelle schreiben. Ich bekomme aber jedesmal die Fehlermeldung Laufzeitfehler 3061 „1 Parameter wurde erwartet…“.
Zur Kontrolle habe ich den SQL string per msgbox anzeigen lassen, und weiss immer noch nicht wo der Fehler ist:

Private Sub Form_Open(Cancel As Integer)
Dim strCurrentForm As String
strCurrentForm = Screen.ActiveForm.Name
Dim strSQL As String
strSQL = „INSERT INTO tbl2_User (Event) VALUES (“ & strCurrentForm & „)“
MsgBox strSQL
CurrentDb.Execute strSQL
End Sub

Zur Kontrolle habe ich den SQL string per msgbox anzeigen
lassen, und weiss immer noch nicht wo der Fehler ist:

Du benutzest vermutlich das falsche Ereignis. Zum Zeitpunkt „Open“ ist das Formular noch nicht aktiv. Screen.ActiveForm ist also entweder nicht vorhanden, dann kommt der Laufzeitfehler 2475, oder aber (wenn Du aus einer anderen Form kommst) : Du bekommst einen falschen Namen.

Gruß Eillicht zu Vensre

In der MsgBox steht der korrekte Formularname:
„Insert Into tbl2_user (event) values (frm_ChildPart)“
Deswegen glaube ich nicht, dass dies die Ursache ist.
Der unten stehende Code bringt den selben Fehler:

Private Sub Form_Open(Cancel As Integer)

Dim strTest As String
strTest = „frm_ChildPart“
Dim strSQL As String
strSQL = „INSERT INTO tbl2_User (Event) VALUES (“ & strTest & „)“
MsgBox strSQL
CurrentDb.Execute strSQL

End Sub

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

„Insert Into tbl2_user (event) values (frm_ChildPart)“

Versuch mal

INSERT INTO tbl2\_user (event) SELECT "frm\_ChildPart" AS rumsbums;

bzw. bastel Dir den entsprechenden String im Sub zusammen.

Gruß Eillicht zu Vensre

Hallo Eillicht,

danke für Deine Hilfe. Ich wollte diese Funktion später auslagern um sie in allen Formularen der DB zu nutzen. Deshalb benötige ich diese Verkettung mit dem aktuellen Auslesen des aktiven Formularnamens.

Gruß
Norbert

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]