我在表单上有两个组合框。第一个允许用户按名称搜索记录,当选择记录时,表单上的所有其他控件都会更新。我不记得我是怎么做到的,我认为它可能是通过向导完成的。但是现在我想添加第二个允许用户按地址搜索的组合框,但是当在这个新的组合框中选择一个地址时,记录不会更新。
以下是我的尝试:
Private Sub Form_Activate()
Me.Refresh
End Sub
和...
Private Sub Combo250_AfterUpdate()
Me.Requery
End Sub
还有一个SearchForRecord宏,它使用这个WHERE子句搜索第一条记录
="[ID] = " & Str(Nz(Screen.ActiveControl,0))
涉及的两个表是人口统计和地址,它们由ID列连接。
请帮忙!
答案 0 :(得分:1)
使用向导添加组合框,当选项显示“根据我在组合框中选择的值在表单上查找记录”时,选择该选项并继续完成向导。
手动代码:
With Me.RecordsetClone
.FindFirst "Address='" & Me.cboAddress & "'"
If Not .NoMatch Then
Me.Bookmark = .Bookmark
End If
End With
答案 1 :(得分:0)
首先,您应该为控件提供有意义的名称,例如cboSearchByAddress
。
我不知道SearchForRecord宏的工作原理,但您可以将AfterUpdate事件中的代码更改为:
Private Sub cboSearchByAddress_AfterUpdate()
Me.Filter = "[ID]=" & Nz(cboSearchByAddress,0))
Me.FilterOn = True
End Sub
您可能需要将Nz(cboSearchByAddress,0))
更改为Nz(cboSearchByAddress.Column(0),0))
,具体取决于组合框的设置。