Ms access 将子窗体链接到主窗体上的组合框时出现问题
在access ADP中的表单上,有一个未绑定的组合框,显示公司列表。显示名称时,id是绑定字段。选择公司后,我希望在子窗体中显示订阅信息,该子窗体的数据源是该公司的companySubscription视图。我将子窗体的链接主字段和链接子字段属性设置为companyId。基本上,我是这样设置的 理论上,我认为这意味着当我更改组合框中的值时,子表单应该显示该公司的订阅信息。但它不起作用-无论combobox设置为什么,子窗体始终显示companySubscription视图中的所有数据Ms access 将子窗体链接到主窗体上的组合框时出现问题,ms-access,combobox,subform,adp,Ms Access,Combobox,Subform,Adp,在access ADP中的表单上,有一个未绑定的组合框,显示公司列表。显示名称时,id是绑定字段。选择公司后,我希望在子窗体中显示订阅信息,该子窗体的数据源是该公司的companySubscription视图。我将子窗体的链接主字段和链接子字段属性设置为companyId。基本上,我是这样设置的 理论上,我认为这意味着当我更改组合框中的值时,子表单应该显示该公司的订阅信息。但它不起作用-无论combobox设置为什么,子窗体始终显示companySubscription视图中的所有数据 救命啊
救命啊 找到了答案-从另一个项目中获得了一些代码,这些代码有助于:
Private Sub cmbSub_AfterUpdate()
' Find the record that matches the control.
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[subID] = " & str(Nz(Me![cmbSub], 0))
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
并不得不修改它的ADP感谢后
您知道如何根据在组合框中选择的内容切换父窗体的当前记录吗?@Hansup链接主字段不必是字段,它可以是控件,控件甚至可以保存纯文本。我经常使用它。我怀疑问题可能出在绑定列上。这是选择创建“查找”组合框时组合框向导生成的代码。我不知道ADP版本,但第一个版本是现有最糟糕的自动生成代码之一。我在这篇文章中将它撕成碎片:-在那篇文章中,我发现每创建一行代码,错误率至少为2.5个问题。我的批评是针对MDB/ACCDB中的代码,但75%的批评也适用于ADP——这真是糟糕的代码。
Private Sub ChooseCo_AfterUpdate()
' Find the record that matches the control.
Dim rs As ADODB.Recordset
Set rs = Me.Recordset.Clone
rs.Find "[companyId] = " & Str(Nz(Me![ChooseCo], 0))
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub