首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将虚拟孩子的筛选器与父表进行比较

将虚拟孩子的筛选器与父表进行比较
EN

Stack Overflow用户
提问于 2012-08-09 06:45:22
回答 1查看 52关注 0票数 0

我不知道如何做这件事。我使用的是Access 2007,并用VBA和SQL编码。

表A有数据、帐目和金额。用户可以使用表单B来访问A中的数据子集,例如,金额在$50和$100之间的所有行。

当用户查看某一行时,我需要知道是否有任何其他行的相同帐户被排除在他们的视图之外。换句话说,我需要知道父对象中是否有行在父对象中可见,而在子对象中不可见。

我认为一个解决方案是确定哪些过滤器在他们的视图上是活动的,然后我可以使用dcount进行比较。不过,我不知道如何获取在它们的视图中处于活动状态的过滤器。也许有一种更简单的方法-我在这里超出了我的能力范围。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-09 18:18:51

让我们假设TableA有一个主键ID。使用FormB的当前事件:

代码语言:javascript
复制
 Dim rs AS DAO.Recordset

 dAmt = Me.Amount
 sAcc = Me.Account 

 ''Get a list of visible IDs
 With Me.RecordsetClone
    .MoveFirst

     Do While Not .EOF
         If !Amount=dAmt And !Account=sAcc Then
            sIDs = sIDs & "," & .ID
         End If
         .MoveNext
     Loop
 End with

 ''Other IDs
 sSQL = "SELECT * FROM TableA "
      & "WHERE Amount = " & dAmt _
      & "Account = '" & sAcc _
      & "' ID Not In (" & Mid(sIDs,2) & ")"

 CurrentDB.CreateQueryDef("NewQ",sSQL")
 Docmd.OpenQuery NewQ

上面的代码是未经测试的,如果它运行了的话,它只会运行一次,因为创建了一个新的查询,而不是正在编辑的现有查询。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11874309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档