【问题标题】:How does a user insert a null in MS Access?用户如何在 MS Access 中插入空值?
【发布时间】:2008-12-03 14:09:37
【问题描述】:

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

【问题讨论】:

  • 如何将数据输入到表格中?我已经使用表格视图输入的数据运行了 XML 导出,它成功地按照您的建议添加和删除了列。
  • 你是说你不想允许零长度字符串?
  • 没有“直接在表格中”这样的东西。您可能指的是绑定到记录集的表单,可能是在您使用的任何版本的 MS Access 的 UI 中提供的表单。还是“直接”意味着您正在使用 SQL 代码?
  • @onedaywhen,我指的是那些访问调用“表”的东西。另外,当我们谈论 MS Access 时,甚至不要费心将所有元组/关系都放在我们身上。

标签: ms-access null


【解决方案1】:

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

【讨论】:

  • 不是“可能”,而是会。除非您将 ZLS 用作不同于 Null 的有意义的值,否则任何字段都没有理由允许存储 ZLS。这肯定对用户不友好。
【解决方案2】:

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

UPDATE test SET test.test = Null;

【讨论】:

  • 是的,我说的是在数据表视图中进行。
【解决方案3】:

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

【讨论】:

  • 这不适用于 Access 2007。你是如何让它工作的?
【解决方案4】:

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

【讨论】:

  • 按照建议输入了一些字符,然后使用 F2 选择然后删除,但它不能始终如一地工作
【解决方案5】:

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

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

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

【讨论】:

  • 您使用的是什么版本的 Access?正如我在您的原始帖子中的 cmets 中提到的那样,我已经实现了您所要求的行为。
【解决方案6】:

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

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

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

【讨论】:

    【解决方案7】:

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

    【讨论】:

    • 如果该字段设置为允许零长度字符串,则不会。
    • @David-W-Fenton 对我来说它按照@bang 的规定工作。我在链接表中有NOT NULL varchar 列到SQL Server 和Access 中的allow zero-length strings = yes。仍然当我删除文本时,它不会插入空字符串,而是给出该列不是变体类型的空插入错误。
    • 我明白了,ODBC 链接表的行为是不同的stackoverflow.com/a/22203637/2224701
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    相关资源
    最近更新 更多