我的组合框的以下行源显示正确的结果,除非客户端(这是指向tblClient的链接)是661.在所有其他情况下,给出正确的结果。 661是tblClient的PK。在这种情况下,该字段为空,但实际上它确实具有tblReceipts的正确PK。我知道这一点,因为将组合框链接到frmreceipts的命令按钮可以正常工作。我已经对我的数据进行了三次检查,并将Row Source链接到Access Query,而不是纯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。列宽通常为零,但如果我将其设为1cm,则客户端661正确显示PK 417.当然,大多数记录都不令人满意,但很有趣。
答案 0 :(得分:0)
..我的组合框显示正确的结果,除非客户端...是661
好吧,用417替换661,所以你永远不会收到661的数据,而且你应该仔细检查417的数据。
尝试运行此命令以检索417的数据:
PHP
尝试显示当前的ClientID:
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=417)
ORDER BY tblClient.ClientName, tblReceipts.DateRec DESC;
现在,研究检索到的CurrentClientID值。
答案 1 :(得分:0)
通过更改表单的“当前”事件中组合框的行来源解决了该问题。
Select Case Client
Case 661
Me.ReceiptsLookup.RowSource = "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) = 417)) " & _
"ORDER BY tblClient.ClientName, tblReceipts.DateRec DESC "
结束选择