Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Edipo
    Registrato dal
    May 2003
    Messaggi
    1,239

    Formattare i risultati_>>>

    Non conosco molto bene vb6, ma la mia domanda è abbastanza generale, quindi credo alla portata di tutti.
    Il mio problema è la formattazione dei risultati proveniente ad esempio da una ricerca fatta su un database; come tutti sanno si fa largo uso dell'oggetto datagrid.
    Questo non mi permette di formattare graficamente come desidero i miei risultati, obbligandomi a visualizzare allo user una situazione di tipo tabellare fatta di righe e colonne .

    Devo obbligatoriamente fare uso di questo oggetto per interagire con il db?
    Grazie in anticipo
    ---
    "Il tempo aiuta a dimenticare e il destino regala sempre una seconda occasione.
    Ma aprirsi all'amore significa rendersi vulnerabili".

    Nicholas Sparks

  2. #2
    Utente di HTML.it L'avatar di MMarzia
    Registrato dal
    Mar 2001
    Messaggi
    1,781
    ricorda di spedicifare linguaggio/versione anche nel titolo
    io sono festosamente cicciottello :: e. cartman

    t'amo senza sapere come, nè quando nè da dove,
    t'amo direttamente senza problemi nè orgoglio:
    così ti amo perchè non so amare altrimenti

  3. #3
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291

    VB6-DB formattare i risultati

    La risposta dal DB che ottieni tramite l'oggetto RecordSet (RST) ti consente d'inserire, ad esempio, il valore o la stringa in un'appropriata variabile ed eseguire successivamente le elaborazioni volute. Ad esempio:
    codice:
    'Esegue la connessione con il DataBase - TblCostiDiretti:
        With ConnettiCE1
            .ConnectionString = DataConnessione
            .CommandTimeout = 15
            .Open
        End With
        
        RSTCE1.Source = "SELECT Descrizione, Anno1, Anno2, Anno3, Anno4, Anno5, Totale FROM TblCostiDiretti;"
        RSTCE1.Open , ConnettiCE1, adOpenDynamic
    
    
    'Consumi Materie prime - TblCostiDiretti:
        strCprime = RSTCE1("Descrizione")
        dblCprime1 = RSTCE1("Anno1")
        dblCprime2 = RSTCE1("Anno2")
        dblCprime3 = RSTCE1("Anno3")
        dblCprime4 = RSTCE1("Anno4")
        dblCprime5 = RSTCE1("Anno5")
        RSTCE1.MoveNext
        ... ... ...     
    'Chiude e cancella il recordSet:
             RSTCE1.Close
             Set RSTCE1 = Nothing
    'Chiude e cancella la connessione:
            ConnettiCE1.Close
            Set ConnettiCE1 = Nothing
    Come puoi constatare i valori del RST sono stati inseriti in una variabile string ed in variabili Double, per essere poi elaborati. Ad esempio:
    codice:
    FrmContoE1.Txt25CE.Text = Format((dblCprime1  + dblMatC1 + dblAtri1), "#,##0")
    Ciao
    LM

  4. #4
    Utente di HTML.it L'avatar di Edipo
    Registrato dal
    May 2003
    Messaggi
    1,239
    Grazie per l'esempio LMondi, rende bene. E scusate per l'intestazione sarà per la prox volta.

    Ciuazzzzz!!!!
    "Il tempo aiuta a dimenticare e il destino regala sempre una seconda occasione.
    Ma aprirsi all'amore significa rendersi vulnerabili".

    Nicholas Sparks

  5. #5
    e se volessi rappresentare i dati come nell'esempio che ho allegato?

    quindi rappresentare un record su due righe e quindi con formattazione grafica differente?
    Immagini allegate Immagini allegate
    Boicottiamo la coca cola...
    http://www.tmcrew.org/killamulti/cocacola/

  6. #6
    sto cercando dei controlli free su internet che permmettono questo... se ne trovi fammi sapere dove che lo cerco anch'io per il momento l'unica soluzione che ho trovato è di farmene uno su misura (ma ci vuole un bel po di tempo...)
    *** Rachele TI AMO DA MORIRE!!! ***

  7. #7
    se volessi seguire la tua iniziativa da dove dovrei cominciare...se pur lunga?
    Boicottiamo la coca cola...
    http://www.tmcrew.org/killamulti/cocacola/

  8. #8
    dunque...
    apri il tuo progetto in VB
    dopo di che fai File->aggiungi progetto->controllo activeX
    ti appare una finestra stile Form ma senza bordi, all'interno di questa ci metti i controlli che ti servono (textbox, label, image, checkbox, ecc..) nella posizione che credi più accattivante facendo in modo che come la vedi risulti UNA riga della futura tabella.
    a questo punto dai un nome ai controlli e l'indice 0 così da creare n matrici di controlli di dimensione 1 il cui primo elemento è quello che vedi. questo ti servirà per gestire n righe in futuro.
    la parte complicata è la gestione dello scorrimento verticale dei record della pseudo tabella che ti crei per risolvere tale enigma ho pensato di creare i controlli in un controllo panel che avrà le dimensioni in larghezza del controllo (impostabile nell'evento resize) e per quanto riguarda l'altezza verrà modificata ad ogni evento addNew del controllo che stiamo creando.
    L'evento AddNew che creiamo dovrà avere le seguenti caratteristiche:
    1. Aggiunge 1 alla proprietà ListCount (che creremo opportunemante)
    2. Ridimensiona il pannello in modo che ci entri un'altra riga identica a quella "tipo" creata a mano
    3. Si crea una nuova serie di controlli clonando quelli di esempio e assegnandogli l'indice raggiunto
    4. li visualizza alla posizione (ListConut * altezzariga) cioè appena sotto la riga vecchia.
    5. riempe i campi con i parametri passati tramite il metodo.

    se però fosse solo questo l'avrei finito da un pezzo
    ma visto che poi dovrei gestire gli eventi onClick, onDoubleClick oltre che poi evidenziare il record selezionato ecc...
    mi sono fermato ed ho abbandonato il progetto sperando che qualcuno lo faccia al posto mio
    *** Rachele TI AMO DA MORIRE!!! ***

  9. #9
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    "e se volessi rappresentare i dati come nell'esempio che ho allegato?"
    Ritengo che la predetta operazione sia abbastanza semplice, costruisci una Form con dei controlli Lbl e TxtBox con le proprietà che desideri (Colore di sfondo, caratteri: corsivo, grassetto, ecc ...) e poi collegati con il DB per caricare i valori nei predetti controlli.
    L'operazione forse più complicata, se si tratta di una ricerca in un DB con più campi parte dei quali non ti interessano, è forse la SELECT dei dati.
    Ciao.
    LM

  10. #10
    Utente di HTML.it L'avatar di Edipo
    Registrato dal
    May 2003
    Messaggi
    1,239

    SGrid 2.0-----------------------------

    Ciao Dardino.
    Volevo dirti che ho trovato un ottima alternativa al tanto amato DataGrid, è anch'esso un oggetto ma è molto più scalare di quello di casa Microsoft ed è free.
    Mi risparmio da commenti, guarda tu stesso scaricandolo da qui
    vbaccelerator.com

    C'è già il file binario e anche una demo.
    Fa attenzione che per funzionare questo ocx necessita anche di una dll che scarichi sempre da li, leggi le istruzioni.
    "Il tempo aiuta a dimenticare e il destino regala sempre una seconda occasione.
    Ma aprirsi all'amore significa rendersi vulnerabili".

    Nicholas Sparks

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.