我目前有一份报告,其中列出了各种任务的步骤并跟踪修订计数。每个页面都是一个任务,其中包含所有步骤。在报告的末尾是修订历史记录,其中列出了更改内容以更新修订计数。我有两个查询报告,一个用于生成报告数据,另一个用于生成修订历史记录。
我需要做的是显示哪些任务有变化。我想通过将每个报告页面上的Task_ID与修订历史记录查询中找到的Task_ID进行比较来实现。
我已经尝试了一些dlookups和dcounts,没有任何运气。每当我监视代码时,它一直将它视为错误并将结束它。
If DLookup("[Task_ID]", "[qry_revision_history_conversions]") = [Reports]![rpt_WI_Book].[Report]![Task] Then
[Reports]![rpt_WI_Book].[Report]![Rev_Change].Visible = False
这可能是我失踪的一件非常简单的事情,但我似乎无法绕过它。
这是我用来使其运作的代码。
Dim LookupTask As Variant
Dim lngRed As Long, lngYellow As Long, lngWhite As Long
lngRed = RGB(255, 0, 0)
lngBlack = RGB(0, 0, 0)
lngYellow = RGB(255, 255, 0)
lngWhite = RGB(255, 255, 255)
LookupTask = DLookup("[Task_ID]", "[qry_task_check]", [Reports]![rpt_WI_Book].[Report]![Text474])
If LookupTask = [Reports]![rpt_WI_Book].[Report]![Text474] Then
[Reports]![rpt_WI_Book].[Report]![Text474].BackColor = lngYellow
Else
[Reports]![rpt_WI_Book].[Report]![Text474].BackColor = lngWhite
End If
答案 0 :(得分:1)
确定您的表格中确切的字段,但也许我可以假设您正在尝试将TaskID与报告任务字段匹配?
如果您没有为条件提供值,则DLookup函数会返回一个随机值
在DLookup中使用您的条件,然后检查Null:
Dim LookupTask as Variant
LookupTask = DLookup("[Task_ID]", "[qry_revision_history_conversions]", "[Task_ID] = " & [Reports]![rpt_WI_Book]![Task])
If Not IsNull(LookupTask) Then
[Reports]![rpt_WI_Book]![Rev_Change].Visible = False
End If