在表格中查找值,然后将其与表单字段中的值X =表格字段Y中的值相乘

时间:2012-10-20 18:06:16

标签: ms-access-2007

您好我正在使用MS Access 2007

我有一个名为Extraction Line的表,它类似于一个订单行表,在这个表中是两个值得关注的领域:

字段:吨位:数字数据类型

字段:值:货币数据类型

我想要发生的是

用户输入吨位值

在tonnage字段的afterupdate事件中,Dlookup会 查看资源表并找到价格字段(货币数据类型) 然后它将资源表价格值与吨位数量字段(例如)$ 50 x 5等相乘,然后将$ 250值添加到价值字段中。

到目前为止,我甚至无法成功使用dlookup从资源表中获取值

我的代码位于tonnage字段的afterupdate事件的提取行表单中:

Private Sub Tonnage_AfterUpdate()

Dim X As Currency


X = DLookup("[Price]", "[Resource]", "Atomic Number" = "076")  

'X= Nz(DLookup("[Price]", "[Resource]", "Atomic Number" = "076"), 0)

'X = DLookup("[Price]", "[Resource]", "[Atomic number] = Form![Atomic number]") * [Worth]

我想在执行乘法和其他要求之前先测试获取值的简单部分,但不断得到Null值错误。

由于这种解释,我认为我得到Null值错误 Null Value is due to...

但当然没有价值或没有任何价值,因为我希望dlookup首先获得价值,然后进行数学运算。

在此之前,我在抽取线表单中尝试了各种验证规则,但收到了?名称错误。

实现上述目标的最佳方法是什么?如果我能得到帮助,指出我正确的方向,我可以离开并尝试这一点。

1 个答案:

答案 0 :(得分:1)

怎么样:

Private Sub Tonnage_AfterUpdate()
''It is probably best not to use Currency when you do not know what will
''be returned
Dim varX As Variant

varX = Nz(DLookup("[Price]", "[Resource]", "[Atomic Number] = 076"),0) * [Worth]

如果要将查找称为字段或控件,[原子序数]是数字字段:

varX = Nz(DLookup("[Price]", "[Resource]", "[Atomic Number] = " _
          & MyNumber),0) * [Worth]

部分内容:

varX = DLookup("[Price]", "[Resource]", "[Atomic Number] = " & MyNumber)

If varX > 0 then
    MyAnswer = VarX * Me.Worth
End If