Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Summe mit SQL

Begonnen von smily68, Mai 07, 2012, 14:51:39

⏪ vorheriges - nächstes ⏩

smily68

Hallo

Ich versuche mit SQL ein Summe aus einem Unterformular (Auftrags-Positionen) zu berechnen. Doch ich bekomme immer den Wert 0

Hier der Code

Private Sub AuftrSumme()
'Auftr Summen in Auftr-Kopf schreiben

    Dim db As DAO.Database
    Dim rsAuftrTot As DAO.Recordset
    Dim dblPosTot As Double
   
    Set db = CurrentDb
    Set rsAuftrTot = db.OpenRecordset("SELECT Sum(auftrD_PosTotal) As " & dblPosTot _
        & " FROM tblAuftrDetail 'WHERE auftrD_auftrK_IDF =" & Me.auftrK_ID)
           

    MsgBox (dblPosTot)

End Sub

Schlussendlich möchte ich mit diesem Wert weiterrechnen (Auftragsrabatt, MWSteuer). Diese Werte möchte ich beim Abschuss des Auftrags in die Auftragstabaelle schreiben. Diese Werte benötige ich um mit einer Anfügeabfragedie Daten in eine Debitorentabelle zu schreiben. (Deibtorenschnittstelle)

Was mache ich falsch oder wie kann ich das Problem anders lösen. Ich habe die Summen als Berechnende Felder auf meinem Formular Auftrag, doch da diese keine Datenbankfelder sind kann mich mit einer Abfrage nicht auf diese zugreifen.

Gruss Daniel

Wurliwurm

Zitat von: smily68 am Mai 07, 2012, 14:51:39
    Set rsAuftrTot = db.OpenRecordset("SELECT Sum(auftrD_PosTotal) As " & dblPosTot _
        & " FROM tblAuftrDetail 'WHERE auftrD_auftrK_IDF =" & Me.auftrK_ID)

Kann sein, daß der Apostroph vor dem WHERE stört.

Schreibe mal den SQL-Ausdruck in eine Variable und gib diese in der Konsole aus. Anschließend füge den String in eine Abfrage ein (Abfragentwurf - SQL-Ansicht)

Dim sql as String
sql = "SELECT Sum(auftrD_PosTotal) As " & dblPosTot _
        & " FROM tblAuftrDetail 'WHERE auftrD_auftrK_IDF =" & Me.auftrK_ID
Debug.Print sql  'Diesen Ausdruck dann direkt ausführen
Set rsAuftrTot = db.OpenRecordset(sql)


database

Hallo,

Private Sub AuftrSumme()
'Auftr Summen in Auftr-Kopf schreiben

    Dim db As DAO.Database
    Dim rsAuftrTot As DAO.Recordset
    Dim dblPosTot As Double
   
    Set db = CurrentDb
    Set rsAuftrTot = db.OpenRecordset("SELECT Sum(auftrD_PosTotal) As SummeTotal" & _
           " FROM tblAuftrDetail WHERE auftrD_auftrK_IDF =" & Me.auftrK_ID)
    dblPosTot = rsAuftrTot!SummeTotal       

    MsgBox (dblPosTot)

End Sub

smily68

Hallo

Es funktioniert.

Gruss Daniel

hello_world

#4
xxx