【问题标题】:How do I insert null into an integer field with VBA?如何使用 VBA 将 null 插入到整数字段中?
【发布时间】:2011-05-04 14:57:42
【问题描述】:

我有一个带有 SQL 服务器后端的 MS Access ADP。我想从表单中获取一堆值并将它们插入到表中。一些值可以为空。如何使用 vba 将 null 插入 SQL Server 表中的整数字段?

我试过了

"insert...values(" & nz(me.myInt, null) & ",..."

"insert...values(" & nz(me.myInt, "null") & ",..."

都没有用。

【问题讨论】:

  • 我遇到的事情是你的 nz...如果 me.myint 为空...仅仅将这个值放在没有 nz 周围的情况下还不够吗?...除非我在它自己的类模块中……那么我的任何属性都不能为空……

标签: sql ms-access vba insert


【解决方案1】:

如果该字段将接受空值,则只需将其从字段列表中删除,它将获得空值。所以给定一个包含姓名、地址、电话的表,相当于

INSERT table(Name, Address) VALUES('fred','Toytown')

会将电话号码保留为空值

【讨论】:

    【解决方案2】:

    你的第二个例子看起来不错

    ("插入...值(" & nz(me.myInt, "null") & ",...")

    但仅当 me.myInt 是变体、控件或字段时。如果 myInt 是整数或长整数,则不能为空。

    【讨论】:

      【解决方案3】:

      运行代码时遇到什么错误?

      假设我们有表... [test] 列 [id]、[test] 和 [test 2]。

      你可以写;

      insert into [test] ([test], [test 2]) values ( null, null)
      

      确保您传递命令的字符串显示空值,没有任何装饰...没有单引号或双引号。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-01
        • 2018-08-23
        • 2016-01-31
        • 2018-03-27
        • 2011-10-14
        • 1970-01-01
        • 2012-07-11
        • 2011-09-22
        相关资源
        最近更新 更多