ms-access中的总和

时间:2011-01-02 08:16:34

标签: ms-access ms-access-2007

我有三个字段

  

field1 =数字,
   field2 =数字,
   field3 = number

现在该怎么做?

例如:

field3 = sum(field1,field2)

Default Value = field1+field2

3 个答案:

答案 0 :(得分:0)

您可能需要使用DSum。这适用于Access 2003,但它仍应适用并希望有所帮助:http://office.microsoft.com/en-us/access-help/calculate-the-sum-of-the-values-in-a-field-HP001100425.aspx

答案 1 :(得分:0)

如果您的意思是我如何更新整个表格:

UPDATE yourTable
SET field3 = field1 + field2

答案 2 :(得分:0)

如果您有表单并希望将控件更新为其他两个控件的结果,则可以将控件来源设置为(http://office.microsoft.com/en-us/access-help/create-an-expression-HA001181384.aspx):

 =[Control1]+[Control2]

Control1和Control2可以通过将每个的控制源设置为相关的字段名称绑定到Field1和Field2,但是,您不能将Control3绑定到Field3,因为它已经设置。如果您希望以这种方式更新表单上的Field3,则需要在事件中使用代码,Control1和Control2的After Update事件可能适合。存储计算违反了规范化规则,因此您必须考虑这是否是您希望执行的操作。在Access 2010中,您可以创建一个caluclated字段(列),这是另一回事,因为它负责自己的更新:http://msdn.microsoft.com/en-us/library/ff945943.aspx

至于默认值,有几点需要考虑:

  • 您无法将表AFAIK中的默认值设置为Field1 + Field2
  • 仅在添加新记录时才应用DefaultValue属性。如果更改DefaultValue属性,则更改不会自动应用于现有记录
  • 如果控件位于同一表单上,则默认值源的控件必须早于Tab键顺序出现,而不是包含表达式的控件。

如果您使用:

,还要考虑
=Field1 + Field2

您指的是表中的基础字段,如果Field1和Field2也出现在表单上并且可以更新,则会导致问题。最好使用:

Me.MyControl.DefaultValue=Control1+Control2

控件绑定到Field1和Field2的位置。在VBA中,这意味着默认值将被设置为计算结果,这可能不是您想要的,更可能是您想要的:

Me.MyControl.DefaultValue="=Control1+Control2"