Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access Access中需要DSum对象_Ms Access_Vba_Ms Access 2010 - Fatal编程技术网

Ms access Access中需要DSum对象

Ms access Access中需要DSum对象,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,我在Access 2010中有一个子表单,其中列出了与项目不同部分相关的成本。在另一个页面上,我有一个TotalValue字段,它获取每个项目的成本总和,并将其乘以1000000。最初,我只有Parent.[TotalValue]=Me.Est_Value.Value*1000000,但这还不包括成本。因此,我尝试添加一个DSum,但在DSum行出现运行时错误424:objectrequired Private Sub Est_Value_AfterUpdate() Me.Recalc Par

我在Access 2010中有一个子表单,其中列出了与项目不同部分相关的成本。在另一个页面上,我有一个
TotalValue
字段,它获取每个项目的成本总和,并将其乘以1000000。最初,我只有
Parent.[TotalValue]=Me.Est_Value.Value*1000000
,但这还不包括成本。因此,我尝试添加一个
DSum
,但在
DSum
行出现运行时错误
424:objectrequired

Private Sub Est_Value_AfterUpdate()

Me.Recalc
Parent.[TotalValue] = DSum(Projects.EstValue, 
       Projects, Projects.ProjNo = Activity.ProjNo) * 1000000
Parent.[UpdatedCosts] = Date
Parent![Updated Costs].Requery
Parent!Text263.Requery

End Sub 

我真的不确定它到底出了什么问题,所以我非常感谢您的帮助。

我真的没有这方面的工作示例。但根据我在这里读到的内容:

它应该更像这样:

Me.Parent.[TotalValue] = DSum("EstValue", "Projects", "Projects.ProjNo = " & Activity.ProjNo) * 1000000
这是假设
Activity.ProjNo
是一个表单属性,而
Projects.ProjNo
是一个数字字段

更新:通过进一步讨论,
活动.ProjNo
不是包含
ProjNo
值的控件,而是
MFProjectsSubform.ProjNo
。因此,代码应该如下所示:

Me.Parent.[TotalValue] = DSum("EstValue", "Projects", "Projects.ProjNo = " & MFProjectsSubform.ProjNo) * 1000000

尝试将其分配给一个变量,这将告诉您是否存在父引用问题。我尝试过了,它给了我运行时错误2471:您作为查询参数输入的表达式产生了此错误:Activity.ProjNo。什么是
Activity.ProjNo
?我刚才以为这是一个控制,但现在似乎不是这样。我觉得你在寻找更像我的东西。ProjNo。这仍然会产生同样的错误。我对Access并不像我希望的那样熟悉,但是
ProjNo
就像是每个项目的ID。我不知道它是否是控件,但在其他SUB中有一些地方有
Me.Controls(“GWP”)
。我在一些地方也有
“Projects.ProjNo=Activity.ProjNo”
,它在那里工作。我想如果你运行一个查询,它会工作的。尽管现在您只使用了一个DSum,它用于根据条件汇总特定字段。因此基本上
“Projects.ProjNo=“&Activity.ProjNo
需要翻译为类似于:“Projects.ProjNo=1234”的内容,并且因为
Activity.ProjNo
似乎它只是表上的一个字段,无法工作。这导致了您的错误消息。您需要在子窗体上找到一个引用当前
ProjNo
的字段,并使用该字段。