Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    [VB6]: Sommare i dati...

    Ciao ragazzi,
    volevo chiedervi un aiuto in merito alla somma numerica di un campo di una tabella.mdb.
    Io ho una TextBox dove vorrei che sommasse aritmeticamente tutti i dati di un campo chiamato TotaleDocumento

    Utilizzo in genere questo codice solo per estrapolare i dati di un solo record:
    Dim rst1 As Recordset, DB1 As Database

    Set DB1 = OpenDatabase("C:\...\DB.mdb")
    Set rst1 = DB1.OpenRecordset("SELECT Piva, TotaleDocumento FROM Fatture")
    Do While Not rst1.EOF
    TXT_PIVA.text = rst1.Fields("Piva").Value
    rst1.MoveNext
    Loop
    rst1.Close
    DB1.Close

    Grazie mille
    vr-claudio

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    La query per la somma di un campo è:
    SELECT SUM('Colonna') FROM TuaTabella

    :master:
    Sbagliare è umano, perseverare è diabolico.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    RE...

    Ciao carissimo Pirelli72
    ti ringrazio infinitamente per l'immediata risposta, ma mi da un errore strano,

    Dim rst1 As Recordset, DB1 As Database

    Set DB1 = OpenDatabase("C:\...\DB.mdb")
    Set rst1 = DB1.OpenRecordset("SELECT SUM('TOTALEFATTURA') FROM DB_FATTURE")
    Do While Not rst1.EOF
    LBL_TOTALE.Caption = rst1.Fields("TOTALEFATTURA").Value
    rst1.MoveNext
    Loop
    rst1.Close
    DB1.Close

    Err: Tipi di dati non corrispondenti nell'espressione criterio, in questa riga:
    Set rst1 = DB1.OpenRecordset("SELECT SUM('TOTALEFATTURA') FROM DB_FATTURE")

    Grazie
    vr-claudio

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

    Re: RE...

    Nella SELECT non ci vanno gli apici e va inserito il nome della colonna risultato

    Ma la colonna che devi sommare e' proprio la TOTALEFATTURA oppure e' quello che vuoi ottenere sommando altre colonne?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Sono un pò arruginito con VB6 ma questo mi funziona correttamente:


    codice:
       stringa = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Tuodatabase.mdb"
            
        Set cn = New ADODB.Connection
        Set rs = New ADODB.Recordset
    
        cn.Open stringa
        rs.Open "SELECT SUM(NomeColonna) FROM NomeTabella", cn, 1
    
        If rs.EOF Then
            lblDati.Caption = "Nessun dato utile"
        Else
             somma = rs.Fields.Item(0).Value
        End If
        Set cn = Nothing
        Set rs = Nothing
    N.B
    Per fortuna ho ancora VB6 installato
    Sbagliare è umano, perseverare è diabolico.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    RE...

    Ciao carissimi Pirelli72 e Oregon,
    in base ai vostri preziosi suggerimenti, mi sono permesso di modificare il codice in questo modo, mi sembra che vada bene ma siete voi che potete giudicare:

    Dim DB As ADODB.Connection
    Dim S As ADODB.Recordset
    Dim strCnn As String
    On Error Resume Next
    Set DB = New ADODB.Connection
    strCnn = "" _
    & "Provider=Microsoft.Jet.OLEDB.4.0;" _
    & "Data Source=C:\...\DB.mdb"
    DB.Open strCnn
    Set S = New ADODB.Recordset
    S.LockType = adLockOptimistic
    S.Open "Select SUM(TOTALEFATTURA) FROM DB_FATTURE", DB
    LBL_TOTALE.Caption = S.Fields(0)
    S.Close
    DB.Close

    in tanto grazie mille
    vr-claudio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.