Programación General > Visual Basic 6.0 e inferiores

 Ayuda Con Msflexgrid

(1/1)

gervb:
Hola a todos, estoy realizando una busqueda en un programa que consta de varios formularios y dos de ellos se encargan de realizar esta tarea, bueno el tema es asi tengo un msflexgrid y se como conectarlo a la base de datos y que me lo muestre y todo; pero lo que quiero hacer esta vez es manejar la cantidad de columnas del msflexgrid de modo que me muestre los campos que yo le ordene y no todos los de la base(utilizo access y data no ado).
Si lo entendieron y saben algo, por favor diganme como se realiza este proceso.
Gracias de antemano.

ArKaNtOs:
Pues para eso no necesitas una función especifica del msflexgrid, si ya tienes conectado el msflexgrid al control data atraves de la propiedad datasource, es simple solo realiza un query a la BD y automaticamente el msflexgrid te mostrara los valores que deseas :)

por ejemplo algo asi:

data1.recordsource ="SELECT campo1, campo2 FROM mitabla WHERE campo1=campo2"
data1.refresh

y en el msflexgrid se reflejara esa consulta :)

Mollense:
Hola gervb.-

Bueno, te cuento como lo hacía yo, vos veras después si te sirve !!

Lo único que haces con esta función es pasarle como parámetros el MSHFlexGrid donde se van a mostrar los datos y un recordset con el resultado de la consulta a tu tabla. Y como en la consulta están solamente los campos que vos seleccionás me parece que puede ser una solución.


--- Código: Text --- Public Sub CargarGrid(ByRef flx1 As MSHFlexGrid, ByRef rs1 As Recordset)     If rs1 Is Nothing Then Exit Sub     flx1.Rows = 1    flx1.Clear       flx1.row = 0    flx1.Col = 0             On Error GoTo exitsub        flx1.Cols = rs1.Fields.Count           For lcol = 0 To flx1.Cols - 1        flx1.TextMatrix(0, lcol) = rs1.Fields(lcol).Name    Next lcol             rs1.MoveFirst         Do Until rs1.EOF        lrow = lrow + 1        flx1.Rows = flx1.Rows + 1        flx1.FixedRows = 1        flx1.row = lrow        For lcol = 1 To flx1.Cols            dato = rs1.Fields(lcol - 1).Value            If (Len(dato) > 0) Then                            Else                dato = ""            End If            flx1.TextMatrix(lrow, lcol - 1) = dato        Next lcol        rs1.MoveNext    Loopexitsub:End Sub 
Salutes  :beer:

Navegación

[0] Índice de Mensajes

Ir a la versión completa