访问2010 VBA并过滤

时间:2015-10-27 12:59:58

标签: vba filter public

美好的一天,

我需要一些帮助。我正在重建第三方Access数据库,因为它发生了灾难性的失败以及第三方开发人员未能修复他的混乱局面。我是一个狂热的Access开发人员,并且熟悉Access数据库。我不是一个超级VBA编码器,但我可以做的不仅仅是VBA以及其他一些语言。

目前,我有一个带有登录表单的数据库测试平台,该表单存储3个值作为公共变量(gstrLevel为String,gstrUser为String,gintID为Integer)。我能够设置自己的权限"一旦他们登录我就可以轻松地使用这些值来控制交换机等。

我现在的问题如下。我们有人记录未来的客户互动和访谈。作为流程的一部分,每次他们进行联系时,他们都会将其记录到数据库中,并在流程中记录一个"后续日期"被建造。这就像一个魅力。我现在需要做的是,如果这些后续日期已经接近或已经过去,那么用户就会加热,这样可以采取迅速行动,以免我们失去潜在客户。

我有一个查询,它获取预期的表信息和注释表信息(存储后续日期的位置),然后正确过滤日期。这反过来又用于创建一个继续表单来显示需要很快跟进的记录。我似乎无法做到的是只显示登录用户的后续记录。

我应该注意,用户/代理字段是预期表中的查找字段,因此也会在Followup表单中创建一个组合框。我可以从更改等方式锁定表单,但我似乎无法显示相关的用户/代理详细信息。

我试过了:

DoCmd.ApplyFilter
Me.Filter
Me.FilterOn = True
DLookup as criteria
Using my public variables directly as query criteria
And a few other weird combinations with no success.

我认为,我的问题是用户/代理是一个查询字段,我不知道如何基于这个事实进行过滤。如果我直接使用gstrUser变量,我得到一个类型不匹配,如果我直接使用gintID,它什么都不显示。

非常感谢任何想法或建议。

1 个答案:

答案 0 :(得分:0)

你可能有一个带有数字主键(PK)的Users表,而你的gstrUser存储了userName。
因此,在Followup表单的源代码中,只需添加Users表(加入UserId上的Prospective表)并将过滤器应用于Users表中的userName字段(或者调用与gstrUser内容匹配的任何内容) )。