【发布时间】:2016-10-26 07:38:44
【问题描述】:
我的组合框的以下行源显示正确的结果,除非客户端(这是到 tblClient 的链接)为 661。在所有其他情况下,它会给出正确的结果。 661 是 tblClient 的 PK。在这种情况下,该字段是空白的,但它确实具有 tblReceipts 的正确 PK。我知道这一点是因为将组合框链接到 frmreceipts 的命令按钮可以正常工作。我对我的数据进行了三次检查,并将行源链接到访问查询,而不是纯 SQL。 'Access Query 返回正确的数据,让我猜测问题不在于 SQL,而在于表单或组合框中。重要的是,客户端 661 的功能与所有其他客户端相同,除了这一方面。如果一切都失败了,我将创建一个单独的命令按钮来执行涉及 661 时所需的操作。非常希思·罗宾逊,我知道。
SELECT tblReceipts.ID, tblClient.ClientID, tblClient.ClientName, tblReceipts.DateRec, tblReceipts.Type, tblReceipts.Amount, tblReceipts.SerialNo
FROM tblReceipts INNER JOIN tblClient ON tblReceipts.ClientLookup = tblClient.ClientID
WHERE (((tblClient.ClientID)=IIf([Forms]![frmDisclosure]![Client]=661,417,[Forms]![frmDisclosure]![Client])))
ORDER BY tblClient.ClientName, tblReceipts.DateRec DESC;
更多信息:我的组合框的列数是 7,第一个是客户端的 PK。列宽通常为零,但如果我将其设为 1 厘米,客户端 661 会正确显示 PK 417。当然,对于大多数记录来说并不令人满意,但很有趣。
【问题讨论】:
-
接受编辑,但“客户”在我的表单上作为 tblClient 的链接。看不到如何编辑我的问题:“访问查询”返回正确的结果,所以问题可能出在表单或组合框上。
-
什么是 frmDisclosure 的 RecordSource?
-
什么类型的字段是 [Forms]![frmDisclosure]![Client] 并且链接到其记录源中的查询或 sql。客户端更新时可以调试.print [Forms]![frmDisclosure]![Client] (After_Update)
-
[Forms]![frmDisclosure]![Client] 是数字 - 长整数。这是一个连接到 tblClient 的查找字段。请原谅我缺乏专家,但你能帮我调试.print [Forms]![frmDisclosure]![Client] 当客户端更新(After_Update)时。组合框中没有事件。
-
frmDisclosure是单一表格吗? WHERE 子句中的 IIf 有点不寻常,也许您需要在Form_Current事件中添加一个Combobox.Requery才能使其工作。