访问错误,其中查询看到表单字段为空白

Posted

技术标签:

【中文标题】访问错误,其中查询看到表单字段为空白【英文标题】:Access bug where a query sees blank for a form field 【发布时间】:2014-12-04 15:54:46 【问题描述】:

在 access 2003 数据库上使用 access 2010。

我有一个带有未绑定数据字段的表单。一个按钮调用vba,它调用一个宏。该宏调用一个查询,该查询引用表单数据字段 [Forms]![my form]![my field]。实际上并没有叫那些东西,只是为了解释一下。

vba 代码可以看到表单数据字段。调试打印打印出来。查询返回空白。

我通过创建一个新查询来验证这一点,该查询仅列出随机表中的表行以及 [Forms]![my form]![my field]。我什至通过更改名称来验证它,这会使查询提示我输入数据,并引用另一个字段。

昨天在另一个表单/查询上发生了这种情况,但是在弄乱它之后,它突然开始工作了。我压缩/修复了数据库,添加了一个替换的未绑定数据字段,将数据格式从使用 datepicker 的短日期更改为一般日期,格式为空白。我仍然不确定它为什么突然开始工作。

但是现在它发生在这个其他表单和查询上,我不知道为什么。

当它开始发生时,我什至没有编辑表单。昨天这个表格运行良好。

任何想法为什么会发生这种情况?我也许可以继续修复它,但由于表单字段突然开始返回空白,查询神秘地停止工作并不是一件好事。

【问题讨论】:

更新:似乎只有当字段是日期字段时才会发生。 由于您有很多我们不知道的变量(ctl 所在的位置、记录集状态等),您可能需要查看此处提供的答案,看看是否适用@987654321 @ 变量不多。我创建了一个针对任何表进行选择的新查询(因为据我所知,我不能只选择表单字段而不指定表),并且我列出了其中一个表字段和未绑定的表单字段。它是表单上未绑定的表单字段,因此它不是任何记录集的一部分。基本上,创建一个空表单和一个字段,将其放入表单视图中,然后创建一个查询,列出表的行和表单的单个文本字段。如果是日期,它似乎并不总是出现在查询中,但如果格式为空白,它似乎可以工作。 【参考方案1】:

我不想将此作为答案,因为它仍在进行中,但我无法将我的回复放入评论框中。

我按照你的建议做了(有点):

    创建了一个没有记录源的新表单。 添加了两个文本框。第一个以文本开头,但包含日期值;后来格式化为日期。第二个只是文本。 创建了一个查询来访问表单中的一些表和两个文本框。 运行查询。一切似乎都奏效了。尝试更改日期、格式等的值,它继续工作......直到它决定不工作。 不知道它为什么停止工作,但我一直在修修补补。 有一次,我开始点击查询中的日期字段,并惊讶地看到一些 奇怪 字符出现 >> ꀀ䃕

    于是决定修改查询返回日期如下:

    Expr3: Format([Forms]![Form4]![Text0],"mm/dd/yyyy")

    现在一切都很好(直到它再次坏掉?也许吧?

【讨论】:

至少其他人能够复制该问题。毕竟我没疯。这本身就是一种巨大的解脱。谢谢。

以上是关于访问错误,其中查询看到表单字段为空白的主要内容,如果未能解决你的问题,请参考以下文章

访问报告中的绑定组合框为空

什么基于可空表单字段的访问查询条件将返回我需要的内容?

尽管在空白字段上处理了错误,但表单正在提交

Django:表单中的电子邮件字段返回“此字段不能为空/此字段不能为空”,即使其中有地址

Laravel 刀片:如何删除预先填充的表单字段数据(在 db 中另存为空)

如何覆盖 Grails 中的默认错误消息?