0
我收到以下錯誤信息:3075在查詢表達式丟失的運算符語法錯誤(缺少操作員)
這裏的代碼的簡短片段:
Dim dbs As Database
Set dbs = CurrentDb()
dbs.Execute "DELETE FROM TempTable_Entity_mapping_DEFSET_Selection;"
Do While Not rsDEFSET.EOF
Debug.Print rsDEFSET.Fields.item("RESULT").Value
MIP = rsDEFSET.Fields.item("FK_DIM_MBR_ITEM").Value
KPIName = rsDEFSET.Fields.item("SHORTNAME_MBR").Value
ID = rsDEFSET.Fields.item("RESULT").Value
DefSetName = rsDEFSET.Fields.item("KPI_DEFSET_NAME")
Scenarios = rsDEFSET.Fields.item("SCENARIOS")
fillTempTab = "INSERT INTO TempTable_Entity_mapping_DEFSET_Selection (MIP, KPIName, ID, DefSetName, Scenarios) VALUES ('" & MIP & "','" & KPIName & "','" & ID & "','" & DefSetName & "','" & Scenarios & "');"
Debug.Print fillTempTab
dbs.Execute fillTempTab
rsDEFSET.MoveNext
Loop
定義了「rsDEFSET」的位置? – 2013-02-13 19:05:31
您應該使用準備好的語句;特別是如果您從不受信任的來源獲得輸入。這裏有一個如何使用它們的例子:http://stackoverflow.com/questions/6572448/msaccess-prepared-statements – bernie 2013-02-13 19:08:35
我同意@bernie,你可以將你的插入和刪除語句存儲在持久的querydefs中,然後將參數添加到querydef對象。另外,你不需要'.Fields.item',rsDefset(「field」)就可以。 – Beth 2013-02-13 19:14:32