2

如您在此处看到的,用户可以选择合同或提案

在此处输入图像描述

如果是提案或合同,参考控制源是不同的。

所以在类型组合框类型的更新后,我这样做

Private Sub cbType_AfterUpdate()
    If ([ReferenceType] = "Proposal") Then
        cbReference.ControlSource = "[ProposalNo]"
        cbReference.RowSource = "SELECT ProposalNo FROM Proposals WHERE ProposalNo is not null"
    ElseIf ([ReferenceType] = "Contract") Then
        cbReference.ControlSource = "[ContractNo]"
        cbReference.RowSource = "SELECT ContractNo FROM Proposals WHERE ContractNo is not null"
    End If
End Sub

问题是它改变了所有行的控制源。

有没有办法只为选定的行更改它?

谢谢

4

1 回答 1

3

不,那里没有。您可以将连续表单视为显示其他行的单个表单。对未绑定控件的任何操作都会影响所有行。有一些可能适合的解决方法。例如,您可以显示参考的文本框和“更改参考”组合。这将避免混淆用户,因为绑定的文本框不会更新。您可以使用条件格式设置更改组合的各种属性,以使其更漂亮。或者,您可以使用两个子表单或弹出表单来编辑数据。

于 2012-10-22T20:24:32.907 回答