INSERT INTO - Error 3061

  • Access

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Lico.

    INSERT INTO - Error 3061

    Moin,

    für folgenden Code bekomme ich immer den Error 3061

    "10 Parameter wurden erwartet, aber es wurden zu wenig übergeben."

    Ich komme einfach nicht drauf... Wer kann weiterhelfen? ^^ Danke und Grüße!!


    Quellcode

    1. ​Private Sub Befehl1_Click()
    2. Dim db As DAO.Database
    3. Set db = CurrentDb
    4. Dim strSQL As String
    5. Dim Ctrl As Control
    6. Dim NeuPerso As String
    7. Dim NeuAnrede As String
    8. Dim NeuVor As String
    9. Dim NeuNach As String
    10. Dim NeuTel As String
    11. Dim NeuDatum As String
    12. Dim NeuStr As String
    13. Dim NeuPLZ As String
    14. Dim NeuOrt As String
    15. Dim NeuMail As String
    16. NeuPerso = Me.NeukundePersonalnummer.Value
    17. NeuAnrede = Me.NeukundeAnrede.Value
    18. NeuVor = Me.NeukundeVorname.Value
    19. NeuNach = Me.NeukundeNachname.Value
    20. NeuTel = Me.NeukundeTelefonDienst.Value
    21. NeuDatum = Me.NeukundeGeburtsdatum.Value
    22. NeuStr = Me.NeukundeStrasse.Value
    23. NeuPLZ = Me.NeukundePLZ.Value
    24. NeuOrt = Me.NeukundeOrt.Value
    25. NeuMail = Me.NeukundeeMailDienst.Value
    26. 'https://www.encodedna.com/excel/loop-through-all-textboxes-in-userform-and-clear-the-values-in-vba.htm
    27. For Each Ctrl In Me.Controls
    28. If TypeName(Ctrl) = "TextBox" Then
    29. Debug.Print Ctrl.Value
    30. If IsNull(Ctrl.Value) Then
    31. MsgBox "Es müssen alle Felder ausgefüllt werden.", vbInformation
    32. Exit Sub
    33. End If
    34. End If
    35. Next
    36. Debug.Print NeukundeAnrede.Value
    37. strSQL = "INSERT INTO tab_Kunden(Personnalnummer,Anrede,Vorname,Nachname,TelefonDienstlich,Geburtsdatum,Straße,Postleitzahl,Ort,eMailAdresse) VALUES" & _
    38. "(NeuPerso,NeuAnrede,NeuVor,NeuNach,NeuTel,NeuDatum,NeuStr,NeuPLZ,NeuOrt,NeuMail);"
    39. Debug.Print strSQL
    40. db.Execute strSQL, dbFailOnError
    41. End Sub
    Bilder
    • Error-3061.png

      10,45 kB, 374×288, 77 mal angesehen
    Hallo

    Bin selbst nicht mehr Fit mit Access aber...
    Versuche es mal so:

    SQL-Abfrage

    1. INSERT INTO tab_Kunden(Personnalnummer,Anrede,Vorname,Nachname,TelefonDienstlich,Geburtsdatum,Straße,Postleitzahl,Ort,eMailAdresse) VALUES (NeuPerso,'NeuAnrede','NeuVor','NeuNach','NeuTel','NeuDatum','NeuStr','NeuPLZ','NeuOrt','NeuMail')


    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Beim Debug von StrSQL kommt folgendes raus:

    SQL-Abfrage

    1. INSERT INTO tab_Kunden(Personnalnummer,Anrede,Vorname,Nachname,TelefonDienstlich,Geburtsdatum,Straße,Postleitzahl,Ort,eMailAdresse) VALUES (NeuPerso,'NeuAnrede','NeuVor','NeuNach','NeuTel','NeuDatum','NeuStr','NeuPLZ','NeuOrt','NeuMail');


    Irgendwie setzt er die Variablen nicht um??


    Na gut, du musst schon die Variablen nehmen...

    VB.NET-Quellcode

    1. strSQL = "INSERT INTO tab_Kunden(Personnalnummer,Anrede,Vorname,Nachname,TelefonDienstlich,Geburtsdatum,Straße,Postleitzahl,Ort,eMailAdresse) VALUES" & _
    2. "(" & NeuPerso & "," & NeuAnrede & "," & NeuVor & "," .......


    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Es läääuufftt !! 8o

    VB.NET-Quellcode

    1. ​ strSQL = "INSERT INTO tab_Kunden(Personnalnummer,Anrede,Vorname,Nachname,TelefonDienstlich,Geburtsdatum,Straße,Postleitzahl,Ort,eMailAdresse) VALUES" & _
    2. "(" & NeuPerso & ",'" & NeuAnrede & "','" & NeuVor & "','" & NeuNach & "','" & NeuTel & "','" & NeuDatum & "','" & NeuStr & "','" & NeuPLZ & "','" & NeuOrt & "','" & NeuMail & "');"


    Diese Variante hatte schonmal probiert - es klappte aber nicht, weil ich " ," statt "," geschrieben hatte. Verdammte Leerzeichen. ;)