我尝试在Access中创建送货报告,这实际上只是工作中产品的摘要,其中包含每种产品的一些其他相关信息。我有一个Products
表和一个ProductVars
表,它使用ProductID
号码进行链接。
我试图在名为ProductVars
和FinishedLeft
的{{1}}表中查找2个变量并获取相应的值。
然后我会做条件语句,报告会显示该产品是FinishedRight
(完成左侧),"L"
(完成右侧),"R"
(完成两者) ),如果没有完成,则只是空白。
我已经创建了一个名为"B"
的查询并使用qryFinishedEnds
,但我不确定如何对此进行编码以专门查看字段值。
在控制源中输入的以下语句仅向我提供查询中第一条记录的结果。
dlookup
我还尝试在VBA中输入代码并在报告加载时将值分配给文本框,但我无法正常工作,因为它只是为每条记录重复相同的值。
有关如何做到这一点的任何想法?
编辑此帖子以澄清。
根据以下链接,它说我可以在DLookup字符串中有多个条件。 http://access-excel.tips/access-dlookup-lookup-multiple-criteria/
这是我想要完成的事情。 = IIf(DLookUp(" [Value]"," qryFinishedEnds"," [ProductID] ="& [ProductID]和" [Name ] =' FinishedLeft'")= 1
并且
IIf(DLookUp(" [Value]"," qryFinishedEnds"," [ProductID] ="& [ProductID]和" [姓名] =' FinishedRight'")= 0然后“L”
ELSEIF
IIf(DLookUp(" [Value]"," qryFinishedEnds"," [ProductID] ="& [ProductID]和" [姓名] =' FinishedLeft'")= 1
并且
IIf(DLookUp(" [Value]"," qryFinishedEnds"," [ProductID] ="& [ProductID]和" [姓名] =' FinishedRight'")= 1然后“B”
ELSEIF
IIf(DLookUp(" [Value]"," qryFinishedEnds"," [ProductID] ="& [ProductID]和" [姓名] =' FinishedLeft'")= 0
并且
IIf(DLookUp(" [Value]"," qryFinishedEnds"," [ProductID] ="& [ProductID]和" [姓名] =' FinishedRight'")= 1然后“R”
否则
“空白”
当然,这充满了错误,但希望你能理解我所得到的。
如果有比Dlookup更简单的方法,请告诉我。
这是我的查询的样子。
答案 0 :(得分:0)
我也尝试在VBA中输入代码并将值分配给文本 报告加载时框,但我也无法正常工作 因为它只是为每条记录重复相同的值。
这是正常行为,函数Dlookup只返回“第一场比赛”。
如果您只想显示与特定记录相关的信息,则应使用Access报告工具,但它不可编辑。
答案 1 :(得分:0)
我确定我的解释说得不好,但这就是我的想法。我试图弄清楚如何使用具有多个标准的dlookup。我最终在报告中并排放置了2个文本框。一个用于左端完成,一个用于右端完成。对于左边的结束,我在文本框的控件源中添加了以下字符串。
=IIf(DLookUp("[Value]","PRODUCTVARS","[Name]='FinishedLeft' AND ProductID=" & [ProductID]),"L","")
对于其他文本框,除了名称=' FinishedRight'之外,它是相同的字符串。
我希望有一个单独的文本框,当两端都完成时,会显示" L"," R"或" B"对于两者而言,报告将显示" L"," R"或" LR"现在好了。
我还需要在其他报告上显示相同的信息,以便最终拥有VBA代码或编写函数或其他内容。