gpt4 book ai didi

ms-access - 如果插入值为 Null 的变量,则 INSERT INTO 失败

转载 作者:行者123 更新时间:2023-12-04 18:09:05 25 4
gpt4 key购买 nike

如果我插入的变量值为 Null,则 SQL INSERT INTO 将失败。

变量 costLab 是 Variant 数据类型。非 Null 值将是 Decimal。

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 语句,然后直接插入“空值”,但我想知道是否有办法在没有 If 语句的情况下通过变量插入空值。

最佳答案

您可以使用 Nz()当您构建 INSERT 时陈述。它类似于 IIf()方法,但稍微简洁一些。

Dim strInsert As String
strInsert = "INSERT INTO budget (wbsid, category, capture_date, budget_date, budget_type, month_value) " & _
"VALUES ('" & wbsid & "', 'Labor', #" & importDate & "#, #" & monthDate & "#, 'Forecast', " & Nz(costLab, 'Null') & ");"
Debug.Print strInsert ' <- examine the finshed statement in Immediate window
db.Execute strInsert, dbFailOnError
Debug.Print让您有机会检查您提供给数据库引擎执行的已完成语句。遇到问题,可以到立即窗口(Ctrl+g)查看语句文本。您还可以复制该文本并将其粘贴到新查询的 SQL View 中进行测试。

关于ms-access - 如果插入值为 Null 的变量,则 INSERT INTO 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18989535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com