+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 4 su 4

Costruzione di un report

  1. #1
    L'avatar di dade_n
    dade_n non  in linea Scolaretto
    Salve ragazzi,
    st cercando di realizzare un report che mi mostri l'elenco di tutti gli articoli suddivisi per spedizione con il totale della spesa, questa la quesry con la quale estraggo i valori
    Dim cn_db As ADODB.Connection
    Dim rs_db As ADODB.Recordset
    Dim dbfile As String
    Dim mSQL As String
    
    ' nome database
    dbfile = "dati.mdb"
    ' apre la connessione al database
    Set cn_db = New ADODB.Connection
    cn_db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\dati.mdb;Jet OLEDB:Database Password=pippo;"
    ' seleziona i dati
    mSQL = "SELECT bolle.NOME_CLIENTE, bolle.TOTALE, dettagli_bolle.DATA, dettagli_bolle.COD_ARTICOLO, dettagli_bolle.DESCRIZIONE, dettagli_bolle.QUANTITA, dettagli_bolle.PREZZO_UNITARIO, dettagli_bolle.TOTALE_MENO_IVA FROM bolle INNER JOIN dettagli_bolle ON bolle.CODICE = dettagli_bolle.CODICE"
    ' prende i dati
        Set rs_db = cn_db.Execute(mSQL, , adCmdText)
    ' manda i dati al report
        Set Report.DataSource = rs_db
        Report.WindowState = vbNormal
        Report.Show vbModal
    ' chiude il database
        rs_db.Close
        cn_db.Close
        Set rs_db = Nothing
        Set cn_db = Nothing
    
    La query funziona regolarmente ma ho un solo inconveniente che non riesco a risolvere, io vorrei che il nome del cliente ed il totale non fossero ripetuti ogni volta che mi aggiunge un articolo alla lista e possibilmente che fossero univoci, allego un esempiio di come vorrei il risultato e attendo fiducioso un vostro consiglio.
    Ciao Davide
    Immagini allegate Immagini allegate  
    ℹ️ Leggi di pi su dade_n ...

  2. #2
    L'avatar di elisab
    elisab non  in linea Topo di biblioteca
    Ciao Davide
    devi creare un rs gerarchico raggruppando per cliente e destinazione ed inserire una nuova intestazione\pi di pagina gruppo nel report.

    Il codice il seguente; ti allego un piccolo progetto di prova.

    Private Sub Command1_Click()
    Dim cn_db As ADODB.Connection
    Dim rs_db As ADODB.Recordset
    Dim dbfile As String
    Dim mSQL As String
    
    ' nome database
    dbfile = "dati.mdb"
    ' apre la connessione al database
    Set cn_db = New ADODB.Connection
    cn_db.Open "Provider=MSDATASHAPE; Data Provider=Microsoft.JET.OLEDB.4.0;Data Source=" & App.Path & "\dati.mdb"
    
    ' seleziona i dati
    mSQL = "SHAPE {SELECT Cliente, IdCliente,Destinazione, Prodotto, Quantita, PrezzoUnitario, Quantita*PrezzoUnitario As Totale FROM Tab1} AS Command1 COMPUTE Command1 BY 'IdCliente','Cliente','Destinazione'"
    
    '"SELECT Cliente, IdCliente, Prodotto, Quantita, PrezzoUnitario, Quantita*PrezzoUnitario As Totale FROM Tab1"
    ' prende i dati
        Set rs_db = cn_db.Execute(mSQL, , adCmdText)
    
    With DataReport1
            
            .Hide
            Set .DataSource = rs_db
            .DataMember = ""
            
            .Sections("section6").Controls.Item("TextBox1").DataMember = ""
            .Sections("section6").Controls.Item("TextBox1").DataField = "Cliente"
            
            .Sections("section6").Controls.Item("TextBox2").DataMember = ""
            .Sections("section6").Controls.Item("TextBox2").DataField = "Destinazione"
            
            .Sections("section1").Controls.Item("TextBox3").DataMember = "Command1"
            .Sections("section1").Controls.Item("TextBox3").DataField = "Prodotto"
            
            .Sections("section1").Controls.Item("TextBox4").DataMember = "Command1"
            .Sections("section1").Controls.Item("TextBox4").DataField = "Quantita"
            
            .Sections("section1").Controls.Item("TextBox5").DataMember = "Command1"
            .Sections("section1").Controls.Item("TextBox5").DataField = "PrezzoUnitario"
            
            .Sections("section1").Controls.Item("TextBox6").DataMember = "Command1"
            .Sections("section1").Controls.Item("TextBox6").DataField = "Totale"
            
            .Sections("section7").Controls.Item("Function1").DataMember = "Command1"
            .Sections("section7").Controls.Item("Function1").DataField = "Totale"
            .WindowState = vbNormal
            .Show vbModal
    End With
        
        
    
    ' chiude il database
        rs_db.Close
        cn_db.Close
        Set rs_db = Nothing
        Set cn_db = Nothing
    End Sub
    
    Alcune note:
    * la stringa di connessione stata modificata
    * inserisci fra le parentesi graffe la tua query
    * inserisci dopo COMPUTE Command1 BY l'elenco dei campi da inserire nel primo livello di raggruppamento. Non puoi usare la sintassi Tabella.Campo, devi mettere solo il nome del campo o il suo ALIAS.
    * le textbox del primo livello hanno DataMember vuoto, quelle del secondo hanno DataMember Command1

    Ciao
    File allegati File allegati
    ℹ️ Leggi di pi su elisab ...

  3. #3
    L'avatar di dade_n
    dade_n non  in linea Scolaretto
    Ciao Elisab, ho visto il tuo esempio e rispecchia perfettamente quello che volevo fare io, adesso mi metto a studiarlo per bene poi lo passo sul sul mio programma e ti faccio sapere.
    Intanto grazie infinite per il tuo aiuto.
    Ciao Davide
    ℹ️ Leggi di pi su dade_n ...

  4. #4
    L'avatar di dade_n
    dade_n non  in linea Scolaretto
    Ciao Elisab, ho studiato bene il tuo progetto e ho messo in atto quanto mi hai passato seguendo il tuo passo, tutto perfettamente come volevo fare.
    Grazie infinite sei stata grandiosa.
    Ciao Davide
    ℹ️ Leggi di pi su dade_n ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Costruzione inner join
    Da luca1963 nel forum PHP
    Risposte: 2
    Ultimo Post: 07-06-2018, 11:43
  2. Costruzione PC AM3
    Da Krom90 nel forum Hardware, elettronica e retro-computing
    Risposte: 13
    Ultimo Post: 13-09-2009, 21:09
  3. [Excel-VBA] Costruzione Tabella
    Da Rama nel forum Microsoft Excel
    Risposte: 2
    Ultimo Post: 09-12-2008, 19:45
  4. C problema costruzione Alberi
    Da Evil_Dax nel forum C/C++
    Risposte: 0
    Ultimo Post: 29-01-2008, 17:55
  5. costruzione statistica calcio
    Da gianlaky nel forum Microsoft Word
    Risposte: 21
    Ultimo Post: 24-04-2006, 17:59