访问VBA SQL运行时错误3134 INSERT INTO

时间:2015-08-15 16:13:55

标签: sql vba ms-access

我有一个用于Access 2013的VBA代码,我想运行INSERT INTO,但是当我尝试运行它时,它会不断删除“INSERT INTO'中的运行时错误3134语法错误”。 有我的代码:

      Private Sub Parancsgomb35_Click()
Set valamiami = Me.Szöveg29
Dim neveteke As String
Me.KombináltLista27.SetFocus
neveteke = Me.KombináltLista27.Value
Set db_number = Me.Szöveg15
Dim sql_cucc As String
Set rs = CurrentDb.OpenRecordset("SELECT sarzsszám, cikkszam, me, afa, behozatali, netto FROM torzslapok WHERE neve='" & neveteke & "'")

While Not rs.EOF
Set afaka = rs.Fields("afa")
Set sarzsszamka = rs.Fields("sarzsszám")
Set mennka = rs.Fields("me")
Set cikkszamka = rs.Fields("cikkszam")
Set behozatalika = rs.Fields("behozatali")
Set nettoka = rs.Fields("netto")
sql_cucc = "INSERT INTO BE-ALPHAVET(neve, afa, behozatali, netto, db, sarzsszám, cikkszam, me) VALUES('" & neveteke & "','" & afaka & "','" & behozatalika & "','" & nettoka & "','" & db_number & "','" & sarzsszamka & "','" & cikkszamka & "','" & mennka & "');"
CurrentDb.Execute sql_cucc
Wend

End Sub

valamiami = DATE like yyyy.mm.dd
neveteke = STRING
KombináltLista27 = STRING (COMBINE LIST with ine select only)
db_number = INTERGER
sql_cucc = STRING
afaka = INTEGER
sarzsszamka = STRING
mennka = STRING
cikkszamka = STRING
behozatalika = INTEGER
nettoka = INTEGER

我读了很多论坛,但是没有找到任何答案.. 有人可以帮我解释一下这个问题是什么? 谢谢,爱!

1 个答案:

答案 0 :(得分:3)

您的INSERT以:

开头
INSERT INTO BE-ALPHAVET(neve, afa, behozatali, netto, db,
                        sarzsszám, cikkszam, me) 

-被解释为减号。您需要转义表名:

INSERT INTO [BE-ALPHAVET](neve, afa, behozatali, netto, db,
                          sarzsszám, cikkszam, me) 

或者,更好的是,将其更改为下划线(_),这样您根本不必逃避名称。