所以我是Access 365的新手,我正在为教堂的墓地工作。我有一个"主要"将容纳搜索和所述搜索结果的表单(https://i.imgur.com/v6ZmDx2.png)。
所以当我按下"运行查询"时,我想在此表单上放一个方框。按钮,更新所有符合条件的记录。我有查询工作,如果我进入单独的搜索表单并搜索,它工作正常。
如果我尝试将查询拖到主窗体上,我会得到一个SearchQuery子窗体,但是当我进入窗体视图时,我必须在窗体加载之前填写数据。我需要它只在我点击按钮后更新,以便我可以输入信息,然后搜索(https://i.imgur.com/6jJ416o.png& https://i.imgur.com/XPPpg6S.png)。如果我单击取消,它会正常加载,但是当我在搜索中输入数据然后按"运行查询"时,它仍然会提示我输入信息(https://i.imgur.com/FKbZ6WK.png)。
提前致谢!
答案 0 :(得分:0)
您的代码正在构建标准,控件名称作为要搜索的数据,必须使用表字段名称。从每个表达式中删除Result_
。
Coffin and Cremation单选按钮位于OptionGroup控件内。这意味着您必须测试OptionGroup的值,而不是组内的控件。单击单选按钮可设置OptionGroup控件的值。以下是OptionGroup和复选框的修订代码。注意删除Result_
- 修复其他条件表达式。可能要重命名OptionGroup控件。
'Coffin/Cremation
If Not IsNull(Me.optGroup) Then strFilter = strFilter & "([Coffin/Cremation] = " & Me.optGroup & ") AND "
'Veteran
If Not IsNull(Me.Veteran) Then strFilter = strFilter & "([Veteran] = " & Me.Veteran & ") AND "
'Monument
If Not IsNull(Me.Monument) Then strFilter = strFilter & "([Monument] = " & Me.Monument & ") AND "
为什么Clear Search按钮使用EmbeddedMacro?用于清除搜索参数的代码:
Private Sub cmdReset_Click()
'Purpose: Clear all the search boxes in the Form Header, and show all records again.
Dim ctl As Control
'Clear all the controls in the Form Header section.
For Each ctl In Me.Section(acHeader).Controls
Select Case ctl.ControlType
Case acTextBox, acComboBox, acCheckBox, acOptionGroup
ctl.Value = Null
End Select
Next
'Remove the form's filter.
Me.FilterOn = False
End Sub
考虑使用组合框而不是文本框来帮助用户输入有效数据。仍然可以允许任何输入并使用LIKE / wildcard。 RowSource SQL可以是:
SELECT DISTINCT [Last Name] FROM A ORDER BY [Last Name];
建议不要在命名约定中使用空格或标点符号/特殊字符(只有例外是下划线)。
答案 1 :(得分:0)
您可以从subform
访问任何表单,如下所示:
MainForm:贷款清算表
例如:
Forms![LOAN SETTLEMENT FORM]!txtEMP_ID.Value = Me.EMP_ID.Value
Forms![LOAN SETTLEMENT FORM]!txtEMP_NAME.Value = Me.EMP_NAME.Value