我正在運行 Ms Access VBA Sql 代碼以將串列框中的選定專案附加到臨時表。我的代碼作業得很好,但是,當我從串列框中選擇某些專案時,它會回傳以下錯誤。
運行時錯誤“3075”:查詢運算式“技術學士(B.Tech/BE)(計算機)學院:Maeer 的麻省理工學院”中的語法錯誤(缺少運算子)。
我認為這與包含的特殊字符或其他東西有關。
Private Sub Command101_Click()
DoCmd.SetWarnings False
code1 = "INSERT INTO tmp_education_list ( education ) "
If Me.Frame97 = 1 Then
For i = 0 To Me.List96.ListCount - 1
sqlstr = code1 "VALUES('" & Me.List96.ItemData(i) & "');"
DoCmd.RunSQL sqlstr
Next I
End If
DoCmd.Requery "Text135"
DoCmd.SetWarnings True
End Sub
我在這里想念什么?
uj5u.com熱心網友回復:
那是因為單引號Maeer's中斷了 SQL 陳述句。您可以創建一個臨時查詢并將值作為引數傳遞。
Const SQL As String = "PARAMETERS [pValue] Text (255); INSERT INTO tmp_education_list ( education ) SELECT [pValue] As [Value];"
Dim q As DAO.QueryDef
Set q = CurrentDb().CreateQueryDef("", SQL) 'No query name means it's temporary
'...
For I = 0 To List96.ListCount - 1
q.Parameters("[pValue]").Value = List96.ItemData(I)
q.Execute
Next I
q.Close
uj5u.com熱心網友回復:
使用 DAO 的力量,你不會看到這個:
Private Sub Command101_Click()
Dim Records As DAO.Recordset
If Me.Frame97 = 1 Then
Set Records = CurrentDb.OpenRecordset("Select education From tmp_education_list")
For i = 0 To Me.List96.ListCount - 1
Records.AddNew
Records(0).Value = Me.List96.ItemData(i)
Records.Update
Next I
Records.Close
End If
DoCmd.Requery "Text135"
End Sub
此外,請務必將您的控制元件重命名為有意義的名稱。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/514537.html
標籤:sqlvba毫秒访问
上一篇:如何一次更改多個正方形顏色?
