Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    158

    [vb6]Collegare MsHFlexGrid in modo gerarchico

    Salve ecco il problema.
    non riesco a riempire un msHFlexGrid che mi visualizzi i risultati di due tbl collegate.
    Ecco cosa voglio fare.
    Premetto che inserisco (scusate la banalità) un controllo msHFlexGrid + ado.
    Ho un db access 2000 Mio.mdb
    dentro vi sono due tbl collegate:
    Testata
    Riga
    tra le due vi è una relazione di 1 a molti.
    La mia domanda è questa: come devo fare per far riempire il msHFlexGrid in modo tale che mi visualizzi le tbl.
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    12
    lg_SQL = "SELECT Anagrafe.Cod_Utente, Anagrafe.Cod_Utente, Anagrafe.Anagrafe, Anagrafe.Data_nascita, Reparti.Cod_Reparto, Reparti.Reparto,(SELECT COUNT(*) FROM CERTIFICAZIONE WHERE CERTIFICAZIONE.Cod_Utente = Anagrafe.Cod_Utente) AS Certificazioni FROM Anagrafe INNER JOIN REPARTI ON [ANAGRAFE].COD_REPARTO = [Reparti].COD_REPARTO ORDER BY Cod_Utente"

    Questa select visualizza i dati della tabella Anagrafe, la descrizione del reparto collegato alla scheda anagrafe e il numero di record dell'archivio certificazioni collegato sempre alla scheda Anagrafe.
    Per successivi problemi ti consiglio di aprire il database con access, crearti una query, provarla e incollarla in VB (con le dovute modifiche!) oppure usare un manuale di SQL.

    Ciao

    P.S. eccoti il sorgente completo:
    Public g_MyADOConn As New ADODB.Connection
    .
    .
    g_Connessione = "Provider=" & g_Provider & ";" & "Data Source=" & g_DataSource & ";" & "Persist Security Info=True;"
    .
    Set g_MyADOConn = New ADODB.Connection
    g_MyADOConn.Open g_Connessione
    .
    Private lg_MyADOSetRighe As New ADODB.Recordset
    lg_SQL=.....(vedi sopra)
    If lg_MyADOSetRighe.State = 1 Then lg_MyADOSetRighe.Close
    lg_MyADOSetRighe.CursorLocation = adUseClient
    lg_MyADOSetRighe.LockType = adLockPessimistic
    lg_MyADOSetRighe.Open lg_SQL, g_MyADOConn, adOpenDynamic
    .
    .
    Set lst_Lista.Recordset = lg_MyADOSetRighe
    'In una procedura che chiamerai RefreshGriglia setta:
    .
    .
    lst_Lista.FormatString = "C|>Codice|Anagrafe|>Data nascita|C|<Reparto|>Certificazioni"
    lst_Lista.ColWidth(0) = 0 ' C
    lst_Lista.ColWidth(1) = 1000 ' Codice
    lst_Lista.ColWidth(2) = 4500 ' Anagrafe
    lst_Lista.ColWidth(3) = 1200 ' Data nascita
    lst_Lista.ColWidth(4) = 0 ' Cod_Reparto
    lst_Lista.ColWidth(5) = 2500 ' Reparto
    lst_Lista.ColWidth(6) = 1500 ' Certificazioni

    ' Mentre per ritrovare una riga:
    Private Sub lst_Lista_Click()
    lg_CodiceStr = lst_Lista.TextMatrix(lst_Lista.RowSel, 0)
    End Sub
    ecc. ecc.

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.