Pregunta:
quiero hacer una consulta en vb6 y verla en un datagrid?
jofe_bas
2007-10-16 11:55:18 UTC
estoy haciendo una consulta en vb6 desde una base de datos en microsoft sql y quiero ver el resultado en un dtagrid, pero no se como hacer para que me arroje el resultado,

utilizo este codigo que al pareser realiza la consulta pero no la pone en el data grid.

Dim c As String
If Text2 = "" Then
MsgBox "escriba algun dato en la caja de texto", vbExclamation
End If

c = Text2.Text
Adodc2.RecordSource = "select * from alumno_admon where edad = '" & Text2.Text & "'"
Adodc2.Recordset.Update
Tres respuestas:
CNet
2007-10-17 07:42:55 UTC
Este es un ejemplo sencillo para eso.



Private Sub Form_Load()

Dim varSQL As String



varSQL = "SELECT idEmpleado, Codigo, Nombres, TipoE, SueldoD FROM Empleado WHERE Estado = 1 ORDER BY Nombres"

' El 5 es por que son 5 campos, ese parametro lo vas a cambiar dependiendo de la consulta SELECT

' Asi el procedimiento de llenar el Grid se hace mas generico

llenaGrid grdDatos, varSQL, 5

End Sub



´Esta es el procedimiento para agregar los datos de tu consulta a un Grid.

' El tercer parametro hace que el llenado de grid sea generico y puedas llenar grid de diferentes tamaños solo cambiandole ese parametro



Public Sub llenaGrid(grdTemp As MSFlexGrid, strConsulta As String, cuantosSon As Integer)

Dim rs As ADODB.Recordset, x As Integer, cadena As String

On Error GoTo errHandle



Set rs = cn.Execute(strConsulta)

grdTemp.Rows = 1

If Not rs.BOF And Not rs.EOF Then

Do While Not rs.EOF

For x = 0 To cuantosSon - 1

cadena = cadena & rs.Fields.Item(x).Value & Chr(9)

Next x

grdTemp.AddItem cadena

rs.MoveNext

cadena = ""

Loop

End If

If rs.State = adStateOpen Then rs.Close

Exit Sub



errHandle:

MsgBox "llenaGrid" & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Error en Funcion"

End Sub
Mariano Biltes
2007-10-17 22:11:32 UTC
Exacto lo q te dijo el nro 1.

En la propiedad DATASOURCE de tu datagrid debes enlazarlo a tu Adodc2 (q debe estar conectado a tu base de datos) y en cada update de la query el datagrid mostrara el resultado.



Te falta el refresh de adodc2 al final del update



saludos!
CA
2007-10-16 20:36:54 UTC
2 cosa primero revisa q la consulta te arroje valores esto lo haces comprobando adodc2.eof<>true o adodc2.recorset.eof<>true esto verificara si existen registros en la consulta y segundo enlaza el datagrid al adodc2 esto debe de ser en la propiedad datasource del datagrid


Este contenido se publicó originalmente en Y! Answers, un sitio web de preguntas y respuestas que se cerró en 2021.
Loading...