从主窗体

时间:2015-07-15 14:13:21

标签: ms-access-2010 parameter-passing

几年前我做过这件事,但似乎无法记得如何;我正在使用Access 2010和宏构建器而不是VBA(我没有为编码做足够的事情)。

无论如何,我所拥有的是一个主窗体,其子窗体显示为数据表。此子表单数据源是一个查询,它要求使用where语句作为过滤器应用的三个值。

查询SQL是一个select语句,后跟from,然后是where语句,没有参数语句。

我想要做的是在打开子窗体时从子窗体中拉出参数。

我知道这是可能的,因为几年前我已经这样做了,但不再拥有那个数据库了。我已经浏览了所有的书籍,但仍然无法找到有效的组合。

对我遗失的内容有任何建议或帮助吗?

****更新****** 设定值不起作用......我所拥有的是一个表格SQ_Ticket,其中包含“站点号”,“提交日期”和“结束日期”字段。然后,我有一个基于参数查询的子表单,它具有不同数量的字段,然后是票证查询,因此联盟太麻烦了。但子表单中与主表单相关的字段是站点编号和创建日期。

我想要做的是我的主窗体(SQ_Ticket)带有子窗体(SQ_Alarm_Parameter子窗体),窗体是数据表。当我单击以展开子数据表时,我希望参数查询从主窗体中提取站点编号,并使用它来匹配子窗体中的站点编号,并拉动日期提交和结束日期,并将其用作开始和结束在子表单中创建日期的中间语句中。

基本上我想使用查找子表单(SQ_ALarm_Parameter子表单)中的所有记录,这些记录与SQ_Ticket中的记录具有相同的站点编号,并且在SQ_Ticket中的记录的提交日期和结束日期之间创建。

我似乎记得需要从主窗体中提取特定数据,然后将其用作子窗体中的临时值,但又不记得如何做到这一点。

我知道我遗漏了一些显而易见的东西,因为我知道我之前已经这样做了,但是我没想过要保留这份工作的副本,这是很久以前的事了。所以我非常感谢帮助

1 个答案:

答案 0 :(得分:0)

首先,我认为花几分钟做VBA将是有价值的,更容易使用。但是使用宏方法,您只需使用Set Value子宏。这不会默认显示,因此您需要在Access顶部的功能区上选择“显示所有操作”。

宏:

enter image description here

这将允许您根据另一个表单上文本框的值设置一个表单的RecordSource。您只需要调整现在使用您的字段和参数。