hola te envio este codigo...
Sub pubLlenaGrid(pGrid As MSFlexGrid, pQuery As String, paTitulos As Variant, paLongitudes As Variant, piCols As Integer)
´ Llena un MSFlexGrid con datos en base a un query
´ pGrid: el MSFlexGrid a llenar
´ pQuery: query que se va a ejecutar puede ser una llamada a SP o un query ad hoc
´ paTitulos: títulos que se van a poner en la primera fila
´ paLongitudes: longitudes de las columnas; usar las constantes predefinidas
´ piCols: número de columnas del Grid
´ Modificado por IAR 26/abr/2000
´ Usa DAO en vez de ADO
Dim i As Integer
Dim iRenglon As Long
On Error GoTo fin
pGrid.Visible = False
pGrid.Rows = 1
pGrid.Cols = piCols
´pGrid.Row = 0
For i = 0 To UBound(paTitulos)
pGrid.TextMatrix(0, i) = paTitulos(i)
´pGrid.Col = i
´pGrid.Text = paTitulos(i)
pGrid.CellFontBold = True
Next
For i = 0 To UBound(paLongitudes)
´pGrid.Col = i
pGrid.ColWidth(i) = paLongitudes(i)
Next
If pQuery = "" Then pGrid.Visible = True: Exit Sub ´ no hay comando a ejecutar -> salir
´Set rst = cnn.Execute(pQuery)
Set rst = db.OpenRecordset(pQuery)
While Not rst.EOF
pGrid.Rows = pGrid.Rows + 1
´pGrid.Row = pGrid.Rows - 1
iRenglon = pGrid.Rows - 1
For i = 0 To piCols - 1
´pGrid.Col = i
If rst.F