如何在Access 365中制作搜索表单

时间:2018-08-01 18:29:38

标签: vba ms-access access-vba ms-access-2016

我目前正在尝试为我的数据库制作搜索表单。我想将其放置在导航表单中(所以听说我不能使用拆分表单)。我目前有一个包含4个文本框和1个组合框的表单,用于总共5个条件,每个条件都有一个单独的按钮进行搜索。下面是基于我的表的查询。这是我到目前为止所做的

尽管如此,我仍在摸索如何实际执行搜索。在此项目之前,我从未使用过访问权限,也不知道如何使用VBA(但我确实知道其他语言)。是否可以使用宏执行搜索?如果没有,我将如何进行搜索子过程?

1 个答案:

答案 0 :(得分:0)

您解决的方法是构建搜索表单,并开发和测试搜索表单。得到它的工作?然后,您可以将此工作表单放到现有的“导航表单集”中。

有无数种方法可以做到这一点–您的想象力有限。但是,常见的设置是创建“主”表单。此主窗体可以具有几个文本框,供您键入搜索值。然后,您使用向导创建一个“结果”表单(一种不错的表单,您可以在其中显示结果以供用户查看和选择结果)。

实际上,您实际上不必使用Form + Sub Form,但我发现,将“条件”框放在表单标题区域中通常会更好一些。

因此,请创建主表单-该表单是未绑定的(未附加到系统中的任何表上)。玩得开心,无论如何都要布置表格。

然后使用向导创建多个项目表单。获得带有漂亮列的表格。现在,主窗体处于设计模式,只需在“显示结果”窗体中拖放即可。

结果是如下所示的访问表单:

enter image description here

在上面,请注意用户如何在某些条件下“键入”。

因此,您将一些代码放置在更新事件之后的文本框中。看起来可能像这样:

将strSQL当作字符串

strSql =“从tblCustomer中选择*,其中LastName类似于”&me.txtLastName &“ *”

me.MySubFormname.Form.RecordSource = strSql

因此,我们“动态”构建了sql,然后将sql“填充”到了子表单中以显示结果。

请注意,在上述续项表格中,单击时我们有一个“查看”或“编辑”按钮,可以为您选择的一个记录启动详细表格。在我的示例中,我为按钮使用了“眼镜”图标。因此,该代码背后的代码是:

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

因此只需要很少的代码。其余的就是您在界面布局方面的幻想。