Ich habe drei FelderSumme in ms-access
field1 = Anzahl,
field2 = Anzahl,
field3 = Anzahl
Nun, wie eine Summe nehmen?
Zum Beispiel:
field3 = sum(field1,field2)
oder
Default Value = field1+field2
Ich habe drei FelderSumme in ms-access
field1 = Anzahl,
field2 = Anzahl,
field3 = Anzahl
Nun, wie eine Summe nehmen?
Zum Beispiel:
field3 = sum(field1,field2)
oder
Default Value = field1+field2
Sie müssen wahrscheinlich DSum verwenden. Dies ist für Access 2003, aber es sollte noch gelten und hoffentlich helfen: http://office.microsoft.com/en-us/access-help/calculate-the-sum-of-the-values-in-a-field-HP001100425.aspx
Warum sollte man eine Domain-Aggregatfunktion verwenden, um Daten in der aktuellen Zeile zu summieren? –
Ich schlug DSum vor, weil ich dachte, das war VBA-Code für ein Formular oder Makro, keine Abfrage. Es sieht so aus, als ob der OP-Kommentar zu @MitchWheat zeigt, dass dies der Fall war. – tcnolan
Wenn Sie meinen, wie ich für eine ganze Tabelle aktualisiere:
UPDATE yourTable
SET field3 = field1 + field2
keine Abfrage.Ich schreibe mit Access Functions – underLine
Wenn Sie ein Formular haben und wünschen eine Steuerung aktualisieren auf das Ergebnis der zwei anderen Steuerelemente, können Sie die Steuerquelle zu (http://office.microsoft.com/en-us/access-help/create-an-expression-HA001181384.aspx) gesetzt:
=[Control1]+[Control2]
Control1 und Control2 können Field1 und Field2, indem Sie die Steuerquelle für die jeweils mit dem entsprechenden Feldnamen jedoch gebunden sein, , Sie können nicht binden dass Control3 zu Field3, weil es bereits festgelegt ist. Wenn Sie Field3 in einem Formular auf diese Weise aktualisieren möchten, müssen Sie Code in einem Ereignis verwenden, das Ereignis Nach Update von Control1 und Control2 kann passen. Es ist gegen Normalisierungsregeln, Berechnungen zu speichern, also müssen Sie überlegen, ob Sie das tun möchten. In Access 2010 können Sie eine caluclated Feld (Spalte) erstellen, die eine andere Sache ist, dass sie Pflege ihrer eigenen Aktualisierung nimmt: http://msdn.microsoft.com/en-us/library/ff945943.aspx
Wie für Standardwerte, es gibt ein paar Dinge zu beachten:
Beachten Sie auch, wenn Sie verwenden:
=Field1 + Field2
Sie sind in der Tabelle auf die darunter liegenden Felder Bezug genommen wird, und dies zu Problemen führen kann, wenn Field1 und Field2 auch auf dem Formular angezeigt und aktualisiert werden können . Es wäre besser zu verwenden:
Me.MyControl.DefaultValue=Control1+Control2
Wo die Steuerelemente an Field1 und Field2 gebunden sind. In VBA, bedeutet dies, dass der Standardwert auf das Ergebnis der Berechnung festgelegt werden, was unwahrscheinlich ist, zu sein, was Sie wollen, mehr wahrscheinlich wollen Sie:
Me.MyControl.DefaultValue="=Control1+Control2"
Beachten Sie, dass das Hinzufügen von zwei Werten Null erzeugt, wenn einer von zwei Null ist. Eine vernünftige Verwendung von Nz() kann hilfreich sein. –
Sind diese Felder Teil einer Tabelle oder eines Teils eine Anfrage? – froeschli
= field1 + field2 + field3 –
@froeschli: Teil einer Tabelle – underLine