9

MS Access 似乎支持代码中的空值,但我一生都无法弄清楚如何直接在表中输入空值。这很让人抓狂,因为一旦一个字段中输入了一个数字,它就永远不能被删除/设置为 null。通常,允许零长度字符串会解决此问题,但 Access 以不同的方式处理 null 和零长度字符串的 XML 导出。空值消除关联的 XML 标记,长度为零的字符串发送一个空标记。

4

7 回答 7

5

在表定义中设置“允许零长度字符串”选项有帮助吗?它可能会强制将空字符串解释为 NULL。

于 2008-12-03T14:49:44.437 回答
4

您是在谈论需要在数据表视图中执行此操作吗?如果您需要在更新查询中执行此操作,您可以这样做:

UPDATE test SET test.test = Null;
于 2008-12-03T14:14:44.960 回答
2

按 ctrl-0 并插入一个空值。

于 2009-08-04T07:06:38.650 回答
2

删除所有字符都可以,但是 Access 有点变幻莫测。除非字段中有字符,否则按退格键或删除键将不起作用。我发现最好输入几个字符,全选,然后点击删除,更改焦点并更改记录。综上所述,如果您运行查询以查找“is null”,则将找到该记录。

于 2015-03-31T21:24:18.093 回答
0

我实际上正在寻找一种让外行直接在表格中输入的方法。在 MSSQL 中,您可以简单地按 ctrl-0 并插入一个空值。删除所有字符似乎不起作用。剩下的不是空字符串,而是一个空字符串。出于出口目的,Access 对它们的处理方式不同。

我想我最终要做的是创建一个 xslt 文件以在导出期间使用,以消除空标签。这样用户就无法真正分辨出区别。

不过,能够键入空值肯定会很好。

于 2008-12-03T14:47:20.947 回答
0

好的,我认为这不是一个容易解决的问题,而且我最初的问题有点偏离目标。问题不在于空值,尽管它们与最初创建表的方式有关。如果您使用 xsd 文件来创建您计划导出的表,则在 Access 中会发生一些事情,导致这些字段的处理方式与使用编辑器创建的字段略有不同。

我找到的唯一解决方案是在表中创建一个新字段,重命名旧字段,将数据从旧字段复制到新字段并删除旧字段。

完成此操作后,XML 输出中不再包含曾经包含数据的空白字段。这可能不是最好的方法,我仍然不知道为什么会这样,但至少我可以解决这个问题。

于 2008-12-03T17:01:22.503 回答
-1

只需删除列中的所有字符,如果 coumn 允许,访问将为您插入一个空值。

于 2008-12-03T14:29:42.137 回答