MS Access 似乎支持代码中的空值,但我一生都无法弄清楚如何直接在表中输入空值。这很让人抓狂,因为一旦一个字段中输入了一个数字,它就永远不能被删除/设置为 null。通常,允许零长度字符串会解决此问题,但 Access 以不同的方式处理 null 和零长度字符串的 XML 导出。空值消除关联的 XML 标记,长度为零的字符串发送一个空标记。
7 回答
在表定义中设置“允许零长度字符串”选项有帮助吗?它可能会强制将空字符串解释为 NULL。
您是在谈论需要在数据表视图中执行此操作吗?如果您需要在更新查询中执行此操作,您可以这样做:
UPDATE test SET test.test = Null;
按 ctrl-0 并插入一个空值。
删除所有字符都可以,但是 Access 有点变幻莫测。除非字段中有字符,否则按退格键或删除键将不起作用。我发现最好输入几个字符,全选,然后点击删除,更改焦点并更改记录。综上所述,如果您运行查询以查找“is null”,则将找到该记录。
我实际上正在寻找一种让外行直接在表格中输入的方法。在 MSSQL 中,您可以简单地按 ctrl-0 并插入一个空值。删除所有字符似乎不起作用。剩下的不是空字符串,而是一个空字符串。出于出口目的,Access 对它们的处理方式不同。
我想我最终要做的是创建一个 xslt 文件以在导出期间使用,以消除空标签。这样用户就无法真正分辨出区别。
不过,能够键入空值肯定会很好。
好的,我认为这不是一个容易解决的问题,而且我最初的问题有点偏离目标。问题不在于空值,尽管它们与最初创建表的方式有关。如果您使用 xsd 文件来创建您计划导出的表,则在 Access 中会发生一些事情,导致这些字段的处理方式与使用编辑器创建的字段略有不同。
我找到的唯一解决方案是在表中创建一个新字段,重命名旧字段,将数据从旧字段复制到新字段并删除旧字段。
完成此操作后,XML 输出中不再包含曾经包含数据的空白字段。这可能不是最好的方法,我仍然不知道为什么会这样,但至少我可以解决这个问题。
只需删除列中的所有字符,如果 coumn 允许,访问将为您插入一个空值。