Como llenar el datagrid

Hola soy usuario nuevo y tengo el siguiente problema. Tengo 2 datagrid; uno muestra una lista de opciones. Ese lo quiero cambiar por un textbox, el hecho es que el dato que cliqueo en el lo toma un textbox y este valor sirve como parámetro para filtrar otro datagrid con una consulta SQL. Todo bien pero el segundo datagrid no muestra nada y en el textbox auxiliar muestra que hay tres registros que este muestra pero sin filtrar. Envío el código. Ojala me puedan ayudar. Gracias.
Private Sub Form_Load()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\Compaqgerencia\Documentos c\Prueba Sist_DEFLUV\DEFLUV.mdb"
cn.CursorLocation = adUseClient
rs.Open "SELECT NombreTarea, DefItem FROM DefItemPorTarea WHERE 'NombreTarea = Textfiltro'", cn, adOpenStatic, adLockOptimistic
Set Data.DataSource = rs
Text1.Text = rs.RecordCount
End Sub
1

1 respuesta

1
Respuesta de
Hola
¿Tienes definidas las columnas del datagrid o lo tienes que llene las columnas con lo que devuelve el recordset?
Si tienes configradas las columnas es posible que alguna no tenga el nombre dle campo correcto.
No se me ocurre nada más pro el momento
Saludos,
Hola, gracias por responder la inquietud.:
No tengo definidas las columnas en el datagrid, solo lo lleno con lo que devuelve el RecordSet. He intentado todo Incluso hasta cambiar el nombre al datagrid de Data a datagrid1 por si la palabra Data es reservada; pero nada.
Al seguir la rutina me devuelve un Nothing en esta parte del código :
rs.Open "SELECT NombreTarea, DefItem FROM DefItemPorTarea WHERE 'NombreTarea = Textfiltro'", cn, adOpenStatic, adLockOptimistic
La tabla se llama DefItemPorTarea y tiene solo dos (2) campos: NombreTarea de tipo texto y DefItem también de tipo texto. ¿La pregunta SQL estará mal formulada? ¿o no reconocerá el rs.Open?. Por ultimo, si utilizo una sentencia Execute para la SQL, tampoco filtra. ¿Qué hago?
Saludos...
Hola
Lo que veo es que el Where esta mal armado . "...'NombreTarea = textfiltro'"
Lo correcto debe ser:
".... NombreTarea = '" & textfiltro & "' "
Fíjate que tienes encerrado entre comillas simples la condición por eso no te retorna los datos que tu necesitas.
Saludos,
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la respuesta que estabas buscando? Puedes explorar otras preguntas del tema Visual Basic o hacer tu propia pregunta: