vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen & Antworten rund um sev-Komponenten
Datagrid2 Footer 
Autor: Merlin01
Datum: 21.12.09 12:06

Hallo
Ich habe ein Problem mit dem zusammenzählen einer Summe (Währung) im Datagrid
Der Beispielcode klappt bei mir nicht.
Bei mir ist alles in ADO Programmiert, also eine andere SQL anweisung.
Ich bekomme es einfach nicht zum Laufen.
Wie müsste Ich den unteren Code ändern ???
weiss jemand eine Lösung??
schon mal vielen Dank für die Mühe (Ich bin halt ein Anfänger)

Gruß
Alf
'--------------------Meine SQL Anweisung 
' ----------------------------------------
    Dim sSql As String                               
    Dim rsData    As ADODB.Recordset
 
    sSql = ""
    sSql = sSql & " SELECT ID,SUM(Betrag)"
    sSql = sSql & " FROM Kundendaten WHERE Datum = '" & sevMonthview1.Value & _
      "'"
    Set rsData = OpenRS(sSql, False)
    oRs.CursorLocation = adUseClient
    oRs.Open sSql, goConn, adOpenStatic, adLockOptimistic
'------------------------------------------------------------------------------
'  Beispiel aus Hilfedatei
Private Sub ShowFooter()
  ' alle Betragsspalten aufsummieren
  Dim sSQL As String
  Dim i As Long
  Dim oRs As Recordset
  Dim nSumme As Long
 
  With Grid1
    ' zunächst alle Betragsspalten ermitteln
    For i = 1 To .Cols
      With .Columns(i)
        If .DataType = dtCurrency Then
          sSQL = sSQL & "SUM(" & Grid1.Recordset.Fields(i - 1).Name & "), "
        End If
      End With
    Next i
 
    If Len(sSQL) > 0 Then
      ' temporäres Recordset erstellen
      sSQL = Left$(sSQL, Len(sSQL) - 2)
      Set oRs = oDB.OpenRecordset("SELECT " & sSQL & " FROM Tabelle" & sWHERE)
      For i = 1 To .Cols
        With .Columns(i)
          If .DataType = dtCurrency Then
            nSumme = 0
            If oRs.RecordCount > 0 Then
              If Not IsNull(oRs.Fields(i - 1)) Then nSumme = oRs.Fields(i - 1)
            End If
            .FooterText = FormatCurrency(nSumme)
            Select Case nSumme
              Case < 0
                .FooterForeColor = vbRed
              Case > 0 
                .FooterForeColor = vbBlue
              Case Else
                .FooterForeColor = vbBlack
            End Select
          Else
            .FooterText = ""
          End If
        End With
      Next i
      oRs.Close
      Set oRs = Nothing
    End If
  End With
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Datagrid2 Footer1.113Merlin0121.12.09 12:06
Re: Datagrid2 Footer741ModeratorDieter21.12.09 12:14
Re: Datagrid2 Footer683Merlin0121.12.09 12:32

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel