Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Como llenar un Data Grid en 6.0

Estas en el tema de Como llenar un Data Grid en 6.0 en el foro de Visual Basic clásico en Foros del Web. Hola a todos; Mi situacion es la siguiente, deseo llenar un datagrid en 6.0 con los datos de una base de datos, se trata de ...
  #1 (permalink)  
Antiguo 07/11/2008, 07:55
 
Fecha de Ingreso: septiembre-2008
Mensajes: 14
Antigüedad: 15 años, 7 meses
Puntos: 0
Exclamación Como llenar un Data Grid en 6.0

Hola a todos;

Mi situacion es la siguiente, deseo llenar un datagrid en 6.0 con los datos de una base de datos, se trata de hacer una busqueda en la bd mediante un codigo, y cuando encuentre el codigo, enviar ese registro a la grilla, pero no se como hacerlo, habia pensado en una instruccion como esta:

DataGrid1.Columns(0) = rs.Fields("Codigo_Articulo")

pero me genera un error, me dice que el conjunto de filas no es disponible, el codigo del boton es el siguiente:

Private Sub aceptar_b_Click()
rs.MoveFirst
While Not rs.EOF
ecg = rs.Fields("ECG")
If (ecg_t.Text = ecg) Then
DataGrid1.MarqueeStyle = dbgHighlightRow
DataGrid1.Columns(0) = rs.Fields("Codigo_Articulo")
DataGrid1.Columns(1) = rs.Fields("ECG")
DataGrid1.Columns(2) = rs.Fields("Descripcion")
DataGrid1.Columns(3) = rs.Fields("Cantidad")
DataGrid1.Columns(4) = rs.Fields("Valor")
DataGrid1.Columns(5) = rs.Fields("Estante")
End If
rs.MoveNext
Wend
End Sub

El rs es una variable de tipo Recorset que tiene una conexion con ado para la bd.

Gracias--------------
  #2 (permalink)  
Antiguo 07/11/2008, 08:28
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Como llenar un Data Grid en 6.0

Cita:
Iniciado por Kata_Her Ver Mensaje
Hola a todos;

Mi situacion es la siguiente, deseo llenar un datagrid en 6.0 con los datos de una base de datos, se trata de hacer una busqueda en la bd mediante un codigo, y cuando encuentre el codigo, enviar ese registro a la grilla, pero no se como hacerlo, habia pensado en una instruccion como esta:

DataGrid1.Columns(0) = rs.Fields("Codigo_Articulo")

pero me genera un error, me dice que el conjunto de filas no es disponible, el codigo del boton es el siguiente:


El rs es una variable de tipo Recorset que tiene una conexion con ado para la bd.

Gracias--------------
Hola, el control DataGrid es un control enlazado a datos, no es necesario que cargues las celdas una a una, yo creo que con esto te servirá:

Código:
Dim rs As New ADODB.Recordset
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open "SELECT * FROM LaTabla WHERE ECG = '" & ecg_t.Text & "'", cn, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = rs
En lo que estamos suponiendo que 'ECG' es el nombre de un campo de la tabla y 'ecg_.Text' es el TextBox donde se ha escrito el dato a buscar y 'cn' es la conexión a la BD que ya tienes abierta.

  #3 (permalink)  
Antiguo 07/11/2008, 09:05
 
Fecha de Ingreso: septiembre-2008
Mensajes: 14
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Como llenar un Data Grid en 6.0

Hola... gracias por responder, pero esa instruccion ya la tengo en otro formulario, y me carga todos los datos de bd.. lo que necesito es hacer como una especie de filtro, donde en el text ecg_t.text le digito lo que quiero buscar, y en la grilla solo me carga el registro que tenga ese text, mi idea era qeu con ese numero que me dieran recorrer la bd y preguntar si era igual, en caso tal de serlo, pasar ese registro a la grilla.... eso de pasar el registro a la grila, es lo que me ha causado problemas........

Tambien he pensado hacerlo de la siguiente manera, cargar el datagrid con todos los datos de la tabla, con las instrucciones que colocaste arriba, y luego hacer un filtro en el datagrid, pero tampoco tengo muy claro como utilizar el filtro.....

De cualquier manera me funcionaria, pues lo que necesito es basicamente eso, buscar un codigo en la bd, y que la grilla solo tenga los registros que tienen el mismo codigo............

@}->----
  #4 (permalink)  
Antiguo 07/11/2008, 09:10
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Como llenar un Data Grid en 6.0

No, si te fijas bien en el código que te puso Avellaneda, no carga toda la tabla, está filtrando los datos usando la cláusula WHERE de SQL para filtrar los datos por lo que se escribe en el TextBox. Prueba y después nos cuentas si funcionó o no.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 07/11/2008, 10:43
 
Fecha de Ingreso: septiembre-2008
Mensajes: 14
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Como llenar un Data Grid en 6.0

Si!!!!!!!!!!!!!!!!!!!! muchas gracias, sale perfecto.................. Se los agradezco mucho
  #6 (permalink)  
Antiguo 07/11/2008, 11:20
 
Fecha de Ingreso: septiembre-2008
Mensajes: 14
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Como llenar un Data Grid en 6.0

Chicos otra pregunta.... como puedo ordenar los registros que tiene la grilla por medio de los datos que tiene una columna????............. Gracias
  #7 (permalink)  
Antiguo 07/11/2008, 11:23
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Como llenar un Data Grid en 6.0

Usando la cláusula ORDER BY:
Código sql:
Ver original
  1. SELECT * FROM Tabla ORDER BY campo
Puedes especificar si es ASC (ascendente) o DESC (descendente).
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:24.