Formulario Maestro Detalle

Estoy tratando de que en un formulario con un DAtagrid me amplíe la información acerca de un campo en el formulario. Por ejemplo en el formulario el campo NOMBRE contiene el nombre de PEDRO y en el datagrid aparezcan todos los PEDROS que existen en la BASE DE DATOS. Si tienes un buen ejemplo sobre MAESTRO DETALLE con ADO te agradecería me lo enviaras.. !

1 Respuesta

Respuesta
1
Primero aclarame unas cosas:
-¿Te refieres a un "buscar" en una base de datos, y que ponga en un datagrid todo lo que encuentre con ese nombre?
-Si la pregunta anterior es sí, ¿quieres en el datagrid mostrar todos los campos de la base de datos del registro que coincida? ¿Cuántos campos tiene la base de datos a parte de "nombre"?
-¿Quieres qué solamente muestre los campos iguales a lo que se ha escrito en el textbox o quieres que aparezcan también similares?
...
Hola Edy... gracias por la dedicación y su tiempo puesta en esta labor..
Mi pregunta es la siguiente: Trabajo una base de datos sobre VB6 a Access/97, uso ADO y tengo un formulario de llenado estilo MAESTRO - DETALLE. De uno de los campos como es por ej. "nombre" decidí que conel nombre que aparece en el "nombre.text" se hiciera automanticamente un llenado al DATAGRID con todos los nombres encontrados a partir del criterio. Lo cual lo hago con lo siguiente:
Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
Dim strSQL As String
Dim strClave As String
'
' Para crear seleccion y mostrar en la cuadricula
If "" & Adodc1.Recordset.Fields("nombre") = "" Then
strClave = "0"
Else
strClave = Adodc1.Recordset.Fields("nombre")
End If
'
strSQL = "SELECT apellido, identificacion, WHERE nombre= " & strClave
'
Adodc2.RecordSource = strSQL 'ASIGNANDO NUEVO ORIGEN a los REGISTROS
Adodc2.Refresh
'ACTUALIZANDO INFORMACION
Set DataGrid1.DataSource = Adodc2
DataGrid1.ReBind 'ACTUALIZAR LA CUADRICULA
End Sub
'=================
Pero al aplicarlo me sale una cantidad de errores como por ejemplo:
ADODC2:Error de sintaxis en la clausula FROM
Error -2147217900 (80040e14)en tiempo de ejecución. Error en el método 'refresh' del objeto 'Iadodc'
Y después me dice que no se puede enlazar el campo... estos errores son los comunices que me salen pero no se como remediarlos porque yo creo que he hecho las cosas bien... Un poco de su ayuda la sabre agradecer !
Sobretodo si tienes una manera de hacerlo más fácilmente...
Muchas gracias.. ! Atm Groval.
Tal y como tienes éste código hay varios errores y varias deficiencias.
1- No manejas bien la conexión a la base de datos, no entablas una buena conexión, y ni siquiera la cierras después de hacer la consulta.
2- A pesar de que asignas la posibilidad de trasmitir los errores producidos por ADODB a la variable pError, no das opción a que estos errores sean tratados si se producen.
3- Y muy importante, y casi seguro que no se te muestra por eso, la sintaxis de strSQL es errónea, debe ser "SELECT apellido, identificación FROM Tabla1 WHERE nombre = '" & strClave & "'"
Donde Tabla1 sea el nombre de la tabla de la base de datos de access donde estén los registros "nombre".
4- A pesar de que adquieres de la base de datos 2 datos, "apellido" y "identificacion" no das oportunidad de mostrarlo en el grid, no sé si con el comando Set DataGrid1. DataSource = Adodc2
Será suficiente...
Suerte!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas