为了使更长的故事更短:
我是一个 Access 菜鸟,正在将大量 Excel 电子表格快速而肮脏地转换为 Access 数据库。部分要求是模仿 Excel 的一些功能,特别是从某个表中提取数据并对其进行一些基本计算(总和、平均值等)。
我编写了一个查询链来提取数据、计数/求和等,并且一直在使用手动输入的参数(即,输入框弹出并要求您输入回复)。现在我已经准备好将这些查询放入(子)表单中,但是,我不知道如何将该参数从表单中的框中自动传递到子表单中的查询中。
我编写的每个查询都使用名为“MATCHNAME”的手动输入参数,其中包含个人姓名。在手动测试中,如果我在一个查询中输入此参数,它调用的所有查询也会获得该值。所以,我想我只需要弄清楚如何告诉顶级查询 MATCHNAME 实际上是什么,然后就可以解决了。
问题是,我不知道如何在 Access 中做到这一点。如果它是任何其他编程语言,我会执行类似“queryXYZ(MATCHNAME);”之类的操作,但我认为我无法在 Access 中执行此操作。另外,由于 queryXYZ 返回的值都是计算出来的,我不确定如何添加额外的 MATCHNAME 字段,也不确定如何实际确保查询读取该字段,也不确定如何确保它沿链传递。我什至尝试在设计视图中创建一个参数,然后尝试设置链接主字段,但该参数没有出现在该窗口中。
每当拉起新记录时,我还想重新运行这些查询,但我也不知道该怎么做——即,对于我正在查看的任何记录,这些数字都应该是最新的。
而且,在我们去那里之前——我觉得关系是不可能的,因为数据本身是自动生成的,而且形状很粗糙,我不能保证任何给定的键都是完全唯一的,并且足够大(20k+),除了写一个神奇的脚本之外,我不能分配一个数字键。但是,我对 Access 中的关系了解不多,所以请证明我错了。
(这一切有意义吗?)
您对我有什么建议吗?如何让子表单读取主表单上的字段以运行其查询?或者,是否有更简单的方法来做到这一点,即在表单中放置 SQL 调用?
非常感谢您的帮助...