iwi121
Goto Top

Vba Fehler access 2003

Hallo zusammen, suche vba hilfe und komme nicht weiter... ich habe ein code einprogrammiert und bekomme immer die Fehlermeldung --> zwei parameter erwartet zuwenig parameter übergeben. die Felder sind mit Inhalt gefüllt , geprüft mit --> Debug.Print SQL... was mache ich verkehrt? hier mein code

Private Sub speichern_Click()
On Error GoTo Err_speichern_Click

Me.lblTest = Me.Liste2.Column(0)
Me.lblTest2 = Me.Liste2.Column(1)
Set db = CurrentDb
    SQLstr = "INSERT INTO Zwsp_Soll_SonstSchulung([Nachname], [Zuname]) " & _  
             "VALUES (" & Me.Liste2.Column(0) & ", " & Me.Liste2.Column(1) & " )"  
    MsgBox SQLstr, vbOKOnly
    If MsgBox("Sollen die Daten wirklich in der Tabelle angelegt werden?", _  
              vbYesNo + vbQuestion) = vbYes Then
        Debug.Print SQL
        CurrentDb.Execute SQLstr
      Else
        Exit Sub
    End If
Me.Liste6.Requery

Exit_speichern_Click:
    Exit Sub

Err_speichern_Click:
    MsgBox Err.Description
    Resume Exit_speichern_Click
    
End Sub

[Edit Biber] Codeformatierung, [/Edit]

Content-ID: 144853

Url: https://administrator.de/contentid/144853

Ausgedruckt am: 22.11.2024 um 14:11 Uhr

Tsocin
Tsocin 15.06.2010 um 11:53:04 Uhr
Goto Top
Ist es möglich, dass deine Werte in Column(0) oder Column(1) ein Sonderzeichen enthalten? Probleme dürften ' und " machen.
Biber
Biber 15.06.2010 um 12:20:18 Uhr
Goto Top
Moin iwi121,

was hättest du denn an Debug.Print's Stelle ausgegeben anstatt einen Fehler?
Hättest du dir eine Variable "SQL" aus dem Reservekanister eingeschenkt?

Grüße
Biber
iwi121
iwi121 15.06.2010 um 12:27:42 Uhr
Goto Top
Nein es sind keine Sonderzeichen... einfacher Text .... z.b. Column(0)=Schmidt und Column(1)=Ingo .....
ich glaube , das ich die zwei (" & Me.Liste2.Column(0) & ", falsch anspreche.
Gebe ich als VALUES 'D' ein, wird diese auch übergeben.... aber mit
VALUES (" & Me.Liste2.Column(0) & ", " & Me.Liste2.Column(1) & " )
klappt es nicht.
Hast du da eine Idee?
Danke im voraus.. Gruß Ines
iwi121
iwi121 15.06.2010 um 12:30:27 Uhr
Goto Top
bin eben ein Anfänger face-wink
aber mit ner zündenden Idee kannst du auch nicht aufwarten , oder ???

Grüße Ines
Biber
Biber 15.06.2010 um 14:19:35 Uhr
Goto Top
Moin iwi121,

selbst an die Zeiten, in denen mir noch zündende ideen kamen, kann ich mich nur noch vage erinnern...

Wenn du meinst, es kann unmöglich an der nicht definierten Variable "SQL" liegen,
und es würde problemlos laufen, wenn du als Values 'D' eingibst..... hmm.
Okay, Anfängerglück.

Ohne auf dieses Glück zu vertrauen würde ich dennoch versuchen, diese Sollbruchstelle etwas systematischer einzukreisen.

1) Bitte gib doch die beiden "Me.Liste2.Column(0)" und...(1)-Werte auch per Debug.Print aus
2) -oder- Poste mal den erzeugten "SQLStr"... wir haben doch nichts davon, wenn der bei dir in einer MsgBox steht.
-3) Prüfe noch mal nach, ob hinter dem Zeilentrenn-Unterstrich in Zeile 10 auch tatsächlich das erforderliche Leerzeichen steht. der kann es nicht sein

4) Unabhängig vom Fehler Zähl mal durch, wie viele Variable du initialisierst/Werte zuweist und wie viele du davon verwendest.

Grüße
Biber
27234
27234 15.06.2010 um 17:07:55 Uhr
Goto Top
Hallo,

ändere Zeile 8 wie folgt
"VALUES ("' & Me.Liste2.Column(0) & "', '" & Me.Liste2.Column(1) & "' )"   

Die beiden Variablen sind alphanumerische Werte, die Du noch in einfache Hochkomma "einpacken" musst.

Gruß René
iwi121
iwi121 16.06.2010 um 09:42:56 Uhr
Goto Top
Hallo Bolle97,

das war die Lösung . Vielen Dank . Das Problem hat mich zwei Tage Nerven gekostet ... nu nimmer ...
also vielen Dank und schöne Woche noch ...

Grüße Ines