感谢在其他问题和一些好的教程中收到的帮助,我可以创建我的访问数据库来保存我的库中的书籍,我现在有一个好的表单(有几个子表单)将新书输入我的数据库。 (这一切都只基于访问2003)。
下一步是能够查询数据库并搜索书籍。
我正在考虑采取以下方法,但我不确定它是否可行和/或是否会让人望而却步。事实上,我已经有了自己的顾虑和/或问号。
您能否就我的方法分享您的意见,并最终解决我的一些疑虑? (链接到解决我的任何问题的其他问题或资源都非常好!)
提前感谢您的任何贡献!
第1点。使用按钮创建一个控制表单,以执行不同类型的查询(按作者,按标题等);我还希望为整个数据库提供“自由文本搜索”选项。此表单还将包括用于输入搜索条件的字段,例如,作者搜索的作者等。这些字段应为具有自动填充功能的组合框,以便于搜索用户。
第2点。要执行的不同查询应在相应按钮的点击事件的vba代码中“硬编码”;这是因为我发现手动编写SQL查询更容易,特别是当我需要从其他字段传递参数时;另外,当我可以将它们“存储”在我的代码中时,我认为不需要在DB中单独存储表单和存储查询。
第3点。然后,查询的最终结果(记录集?)将以表格形式显示。无论执行什么查询,我总是选择要输出的相同字段,因此单个表单将用作所有不同查询的输出。我想要一个表格,因此我可以一劳永逸地定制它的外观和行为。如果可能,表格应为数据表类型(但这不是严格的要求)。鉴于搜索条件的差异,我认为查询结果存储在易失性表/记录集中是完全正确的,并且在每次请求时都必须重新填充它们并不是问题。登记/>
关注第1点。自由文本搜索真的可行吗?我怎么能这样做?
关注第2点。使用所有输入参数构建包含SQL查询的字符串很容易,但如何运行查询?我在教程中的搜索让我困惑,我不知道该怎么做。如上所述,我不想单独存储查询,然后引用查询集合中的特定查询,而是执行“SQL字符串”。这是怎么做到的?如何将结果存储在变量中? Recordset是否是存储临时表的正确变量类型?
关注第3点。如何创建“输出”表单?我应该将字段(在设计视图中)创建为未绑定,还是将它们绑定到数据库中的表?如何使用变量中的数据填充表单?鉴于我的数据库中存在多个多对多关系(例如作者和书籍),因此数据表是可行的。如果我必须再次使用格式和子表单,那么如果在设计期间“表”不存在而只在“运行时”存在,那么如何连接子表单和主表单?而且我也没有疑问,因为正如所说的那些不同并且在vba代码中硬编码。
P.S。有关信息,所有这些都是作为“爱好”完成的,并且通过这样做来学习新的东西(访问和vba)......
答案 0 :(得分:0)
要点1.使用按钮创建一个控制表单以执行不同类型 查询(按作者,按标题等);我也想要一个 整个数据库的“自由文本搜索”选项。这个表格也会 包括输入搜索条件的字段,例如,作者 由作者等搜索。这些字段应为组合框 自动填充,以便于搜索用户。
您当然可以使用下拉列表填充表单。它有一个向导。您不能使用下拉列表在任何地方进行搜索,但有一个方便的搜索按钮,或者您可以连接并使用InStr。
要点2.要执行的不同查询应为“硬编码” 相应按钮的点击事件的vba代码;这个 是因为我发现手动编写SQL查询更容易 当我需要传递来自其他领域的参数时;加上,我 看不出需要将表单和表单分别相乘 我可以将数据库“存储”在我的代码中。
当您开始制作accdes / mdes
时,您将看到保持查询不在代码中的重点第3点。然后,查询的最终结果(记录集?) 以表格形式显示。我将始终选择相同的字段 输出,无论执行什么查询,所以单个表单应该是 用作所有不同查询的输出。我想要一张表格 这样我就可以一次又一次地定制它的外观和行为 所有。如果可能,表格应为数据表类型(但不是 严格要求)。鉴于搜索标准的差异,我 相信查询结果存储在中是完全没有问题的 易失性表/记录集,它们不是必须的问题 在每次请求时重新填充。
重新繁殖会导致臃肿。如果可以,请始终避免MS Access中的临时表。