RE: datagrid de VB 6.0

From: "Ariel" <buenasalud(at)ubbi(dot)com>
To: 'Hazel Muñoz' <hamucacr(at)gmail(dot)com>, "'Andres Gutierrez'" <adivisi(at)gmail(dot)com>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: datagrid de VB 6.0
Date: 2006-04-18 19:49:21
Message-ID: 005701c66321$304a15b0$fa5367c0@GISARIEL
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hazel

Mira la solucion que encontre pero que no es nada prolija, pero me ayudo
para salir de un apuro, consiste en crear otra consulta en donde devuelvo
con un count la cantidad de registros que tiene la consulta, y ase valor lo
uso como equivalente de lo que me tendría que devolver el RecordCount. Por
que VB siempre devuelve el valor de -1

Ariel

_____

De: pgsql-es-ayuda-owner(at)postgresql(dot)org
[mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Hazel Muñoz
Enviado el: Martes, 18 de Abril de 2006 13:42
Para: Andres Gutierrez
CC: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] datagrid de VB 6.0

Estoy utilizando un código que encontré en internet, en lugar de usar un
datagrid normal utiliza un MSHFlexGrid, como no he podido hacerlo funcionar
no sé cuál es la diferencia entre ambos.

Aquí va el Sub Load() del Form que tiene el datagrid, no funciona el
RecordCount porque siempre me devuelve -1. ¿Cómo puedo llenar un datagrid,
aunque sea uno de los normales?

Private Sub Form_Load()
SQL = "Select * from responsable"
Set cnUsuario = New ADODB.Connection
cnUsuario.ConnectionString = "DRIVER=PostGreSQL;
Server=localhost;Port=5432;User
Id=postgres;Password=tulipazules;Database=SORA;"
cnUsuario.Open
Option1.Value = True

Set rsResponsable = New ADODB.Recordset
rsResponsable.Open SQL, cnUsuario, adOpenDynamic, adLockOptimistic

Dim i, j
'tell the grid how many columns to have
MSHFlexGrid1.Cols = rsResponsable.Fields.Count
'tell the grid how many rows to have + 1
MSHFlexGrid1.Rows = rsResponsable.RecordCount + 1
j = 0
With rsResponsable
'this loop only fills up the grid captions along the top with the
field "name" not the value
MsgBox rsResponsable.RecordCount, "Error"

Do While j < .Fields.Count + 1
If Not IsNull(.Fields(j).Name) Then
MSHFlexGrid1.TextMatrix(i, j) = .Fields(j).Name
MSHFlexGrid1.TextMatrix(0, 0) = .Fields(j).Name
End If
j = j + 1
Loop
End With
'With rsResponsable
'move to the first record
.MoveFirst
i = 1
Do While i <= .RecordCount
j = 0
'this loop now fills up the grid with the field "value"
Do While j < .Fields.Count
If Not IsNull(.Fields(j).Value) Then
MSHFlexGrid1.TextMatrix(i, j) = .Fields(j).Value
End If
j = j + 1
Loop
.MoveNext 'move to the next record
i = i + 1
Loop
End With

End Sub

--
Hazel MC

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Marcelo Retamal 2006-04-18 19:49:23 Formato Fecha
Previous Message Juan Martínez 2006-04-18 19:41:38 Re: datagrid de VB 6.0