仅以连续形式更改控制源选定的组合框

时间:2012-10-22 20:16:18

标签: ms-access ms-access-2010

正如您在此处所见,用户可以选择合同或提案

enter image description here

如果是提案或合同,参考控制来源就不一样了。

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

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

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

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

谢谢

1 个答案:

答案 0 :(得分:3)

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