解决此问题的方法是构建搜索表单并开发和测试搜索表单。让它工作?然后,您可以将此工作表单放入现有的“导航表单集”中。
有无数种方法可以做到这一点——你只是受限于你的想象。然而,一个常见的设置是创建一个“主”表单。这个主表单可以有几个文本框供您输入搜索值。然后您使用向导创建一个“结果”表单(一个很好的表单,您可以在其中显示结果以供用户查看并选择结果)。
事实上,您确实不必使用表单 + 子表单,但我发现这通常比将“条件”框放在表单标题区域中效果更好。
所以创建主表单 - 此表单是未绑定的(未附加到系统中的任何表)。玩得开心,随心所欲地布置表格。
然后使用向导创建一个多项目表单。用漂亮的列来布置表格。现在在设计模式下使用主窗体,只需在“显示结果”窗体中拖放即可。
结果是一个如下所示的访问表单:
在上面,请注意用户如何“输入”某些条件。
因此,您在“更新事件之后”的文本框中放置了一些代码。它可能看起来像这样:
dim strSql 为字符串
strSql = "select * from tblCustomer where LastName like " & me.txtLastName
& "*"
me.MySubFormname.Form.RecordSource = strSql
所以我们动态“构建” sql,并将 sql 直接“填充”到子表单中以显示结果。
请注意,在上面的 contines items 表单中,我们有一个“查看”或“编辑”按钮,点击后可以为您选择的 ONE 记录启动详细表单。在我的示例中,我为按钮使用了“眼镜”图标。因此,该按钮背后的代码是:
Docmd.OpenForm "frmEditDetails",,,"id = " & me!id
编辑:sql字符串必须是正确的,所以在上面,它应该是:
dim strSql as string
strSql = "select * from tblCustomer where LastName like '" & me.txtLastName & "*'"
debug.print strSql
me.MySubFormname.Form.RecordSource = strSql
所以只需要很少的代码。其余的只是您对 UI 布局的喜好。