单个表单,用于显示多个查询的输出

时间:2012-09-07 10:42:29

标签: access-vba ms-access-2003

感谢在其他问题和一些好的教程中收到的帮助,我可以创建我的访问数据库来保存我的库中的书籍,我现在有一个好的表单(有几个子表单)将新书输入我的数据库。 (这一切都只基于访问2003)。

下一步是能够查询数据库并搜索书籍。

我正在考虑采取以下方法,但我不确定它是否可行和/或是否会让人望而却步。事实上,我已经有了自己的顾虑和/或问号。

您能否就我的方法分享您的意见,并最终解决我的一些疑虑? (链接到解决我的任何问题的其他问题或资源都非常好!)
提前感谢您的任何贡献!

第1点。使用按钮创建一个控制表单,以执行不同类型的查询(按作者,按标题等);我还希望为整个数据库提供“自由文本搜索”选项。此表单还将包括用于输入搜索条件的字段,例如,作者搜索的作者等。这些字段应为具有自动填充功能的组合框,以便于搜索用户。
第2点。要执行的不同查询应在相应按钮的点击事件的vba代码中“硬编码”;这是因为我发现手动编写SQL查询更容易,特别是当我需要从其他字段传递参数时;另外,当我可以将它们“存储”在我的代码中时,我认为不需要在DB中单独存储表单和存储查询。
第3点。然后,查询的最终结果(记录集?)将以表格形式显示。无论执行什么查询,我总是选择要输出的相同字段,因此单个表单将用作所有不同查询的输出。我想要一个表格,因此我可以一劳永逸地定制它的外观和行为。如果可能,表格应为数据表类型(但这不是严格的要求)。鉴于搜索条件的差异,我认为查询结果存储在易失性表/记录集中是完全正确的,并且在每次请求时都必须重新填充它们并不是问题。登记/> 关注第1点。自由文本搜索真的可行吗?我怎么能这样做?
关注第2点。使用所有输入参数构建包含SQL查询的字符串很容易,但如何运行查询?我在教程中的搜索让我困惑,我不知道该怎么做。如上所述,我不想单独存储查询,然后引用查询集合中的特定查询,而是执行“SQL字符串”。这是怎么做到的?如何将结果存储在变量中? Recordset是否是存储临时表的正确变量类型?
关注第3点。如何创建“输出”表单?我应该将字段(在设计视图中)创建为未绑定,还是将它们绑定到数据库中的表?如何使用变量中的数据填充表单?鉴于我的数据库中存在多个多对多关系(例如作者和书籍),因此数据表是可行的。如果我必须再次使用格式和子表单,那么如果在设计期间“表”不存在而只在“运行时”存在,那么如何连接子表单和主表单?而且我也没有疑问,因为正如所说的那些不同并且在vba代码中硬编码。

P.S。有关信息,所有这些都是作为“爱好”完成的,并且通过这样做来学习新的东西(访问和vba)......

1 个答案:

答案 0 :(得分:0)

  

要点1.使用按钮创建一个控制表单以执行不同类型   查询(按作者,按标题等);我也想要一个   整个数据库的“自由文本搜索”选项。这个表格也会   包括输入搜索条件的字段,例如,作者   由作者等搜索。这些字段应为组合框   自动填充,以便于搜索用户。

您当然可以使用下拉列表填充表单。它有一个向导。您不能使用下拉列表在任何地方进行搜索,但有一个方便的搜索按钮,或者您可以连接并使用InStr。

  

要点2.要执行的不同查询应为“硬编码”   相应按钮的点击事件的vba代码;这个   是因为我发现手动编写SQL查询更容易   当我需要传递来自其他领域的参数时;加上,我   看不出需要将表单和表单分别相乘   我可以将数据库“存储”在我的代码中。

当您开始制作accdes / mdes

时,您将看到保持查询不在代码中的重点
  

第3点。然后,查询的最终结果(记录集?)   以表格形式显示。我将始终选择相同的字段   输出,无论执行什么查询,所以单个表单应该是   用作所有不同查询的输出。我想要一张表格   这样我就可以一次又一次地定制它的外观和行为   所有。如果可能,表格应为数据表类型(但不是   严格要求)。鉴于搜索标准的差异,我   相信查询结果存储在中是完全没有问题的   易失性表/记录集,它们不是必须的问题   在每次请求时重新填充。

重新繁殖会导致臃肿。如果可以,请始终避免MS Access中的临时表。