DSum im Unterformular aktualisieren

09/01/2015 - 09:16 von l1pp3rt | Report spam
Hallo, ich habe ein Problem mit der Aktualisierung einer Domànenfunktion (DSum) im Unterformular einer ACCESS 2010 Datenbank.
Aus mir unerklàrbaren Günden wird, wenn ein Datensatz gelöscht wurde, die Textbox "tbxSumme" nicht aktualisiert; die angesteuerten Abfragen rechnen korrekt.

Name Haupformular: frmBestellung
Name Unterformular: ufrmBestellung
Name Query: qryBestWaren
Kriterium in Summe GESAMT: tbxUserID

Kann mir jemand helfen? Anbei der Code:

Private Sub Delete_Click()

On Error Resume Next

If Not Me!ufrmBestellung.Form.Recordset.EOF Then
Me!ufrmBestellung.SetFocus
DoCmd.RunCommand acCmdDeleteRecord
End If

DoCmd.OpenQuery acQuery, "qryBestWaren_del"
DoCmd.OpenQuery acQuery, "qryBestWaren"

DSum("Gesamt", "qryBestWaren", "[UserID]='" & [tbxUserID] & "'") = Me.ufrmBestellung.Form.tbxSumme

Me.ufrmBestellung.Form.Requery

End Sub
 

Lesen sie die antworten

#1 Karl Donaubauer
09/01/2015 - 10:09 | Warnen spam
Hallo, Roboter!

L1pp3rt ha scritto:
Hallo, ich habe ein Problem mit der Aktualisierung einer Domànenfunktion (DSum) im Unterformular einer ACCESS 2010 Datenbank.
Aus mir unerklàrbaren Günden wird, wenn ein Datensatz gelöscht wurde, die Textbox "tbxSumme" nicht aktualisiert; die angesteuerten Abfragen rechnen korrekt.
...
Private Sub Delete_Click()

On Error Resume Next



Füge hier besser eine ordentliche Fehlerberhandlung ein oder kommentiere
zumindest mal diese Zeile aus bis alles funktioniert. Das führt oft zu
überraschenden Erkenntnissen.


If Not Me!ufrmBestellung.Form.Recordset.EOF Then
Me!ufrmBestellung.SetFocus
DoCmd.RunCommand acCmdDeleteRecord
End If

DoCmd.OpenQuery acQuery, "qryBestWaren_del"
DoCmd.OpenQuery acQuery, "qryBestWaren"



Das 2. OpenQuery hier dürfte nix bringen außer einem offenen
Abfragefenster. Dann weg damit!


DSum("Gesamt", "qryBestWaren", "[UserID]='" & [tbxUserID] & "'") = Me.ufrmBestellung.Form.tbxSumme



Also eigentlich:

Me!ufrmBestellung.Form!tbxSumme = _
DSum("Gesamt","qryBestWaren","UserID='" & Me!tbxUserID & "'")

?
Du schreibst, die Textbox "tbxSumme" würde nicht aktualisiert.
Aber welchen Wert zeigt denn eine

MsgBox DSum("Gesamt","qryBestWaren","UserID='" & Me!tbxUserID & "'")

an dieser Stelle?

Me.ufrmBestellung.Form.Requery



Wozu das Requery? Wenn du den DS eh direkt im UFo löscht, sollte dort
ohne Requery das aktuelle stehen. Dann weg damit!

Grundsàtzlich:
Ist das DSum() wirklich nötig? Kannst du die Gesamtsumme z.B. nicht
direkt aus den Daten des UFos ermitteln?

Servus
Karl
*********
Access FAQ: http://www.donkarl.com
Access Lobby: http://www.AccessDevelopers.org

Ähnliche fragen