Funzione per riempire una griglia FlexGrid con i dati di un recordset
codice:
Public Sub RiempiGriglia(ByRef Rs As Recordset, Flexg As MSFlexGrid, Titoli As String, Larg As String)
Dim VTitoli() As String
Dim VLarg() As String
Flexg.Clear
Flexg.FixedCols = 0
Flexg.Rows = 2
Flexg.FixedRows = 1
Flexg.Rows = 1
Flexg.Cols = Rs.Fields.Count
VTitoli = Split(Titoli, "||")
VLarg = Split(Larg, "||")
For I = 0 To UBound(VTitoli)
Flexg.TextMatrix(0, I) = VTitoli(I)
Next
For I = 0 To UBound(VLarg)
Flexg.ColWidth(I) = VLarg(I)
Next
While Not Rs.EOF
Flexg.Rows = Flexg.Rows + 1
For I = 0 To Rs.Fields.Count - 1
Flexg.TextMatrix(Flexg.Rows - 1, I) = "" & IIf(IsNull(Rs(I)), "", Rs(I))
Next
Rs.MoveNext
Wend
For I = 0 To Flexg.Cols - 1
Flexg.ColAlignment(I) = flexAlignLeftCenter
Next
End Sub
Esempio di chiamata della funzione
codice:
Titoli = "||Campo1||campo2"
'elenco dei titoli separati da ||
'il primo è vuoto perchè non voglio titolo
Larghezze = "0||1000||6000"
'elenco delle larghezze colonna
Strq = "select * from tabella"
Rs.open Strq, conn
RiempiGriglia Rs, NomeGriglia, Titoli, Larghezze