如果插入的變量的值爲Null,則SQL INSERT INTO將失敗。如果插入值爲Null的變量,INSERT INTO會失敗
變量costLab是Variant數據類型。非空值將是十進制。
db.Execute ("INSERT INTO budget
(wbsid, category, capture_date, budget_date, budget_type, month_value) " & _
"VALUES ('" & wbsid & "', 'Labor', #" & importDate & "#,
#" & monthDate & "#, 'Forecast', " & costLab & ");")
如果設置costLab的代碼返回Null,我想插入Null。但是如果返回一個值,我想插入該值。很明顯,我可以編寫一個If語句來檢查null,然後直接插入「Null」,但我想知道是否有沒有If語句通過變量插入Null的方式。
感謝Hans的快速反應。我仍然想知道爲什麼它首先失敗。例如,使用基於字段值爲null的表的SELECT的插入沒有任何問題。 – dblE
檢查'Debug.Print'的輸出。我的猜測是,當'costLab'爲空時,從原始代碼構建的語句的最後部分將是...''Forecast',);' – HansUp
隨着我建議的代碼,聲明的最後部分將結束當'costLab'爲空時...''Forecast',Null);' – HansUp