Por favor necesito que me envíen un ejemplo bien claro y sencillo de como utilizar el dbgrid en visual basic. Lo que necesito es realizar una búsqueda por nombre, y cuando en el dbgrid me aparezcan varios clientes con el mismo nombre, dar doble clic sobre el que me interesa y que se despliegue la información de ese cliente.
Según mi experiencia, el trabajo con DBGRID ha sido un poco desconcertante. Me he peleado mucho con el pero no he conseguido acabar de dominarlo. Te recomiendo que en vez de utilizar DBGRID utilices el objeto LISTVIEW que está en una de las librerías de windows common controls. Este control es como el listado de archivos de explorer, pero se puede configurar como si fuera un grid. Cada linea del grid tiene un código (un KEY) que lo determina unívocamente. Po eso permite hacer muchas más cosas. Te mando un ejemplo de como se utiliza. 'PONER EL LISTVIEW COMO UN GRID propiedaades generales,view=3 (lvwReport) 'CARGAR EL LISTVIEW Dim clmx As ColumnHeader Dim itmx As ListItem 'cabeceras Set clmx = lv.ColumnHeaders.Add(, , "DÍA") Set clmx = lv.ColumnHeaders.Add(, , "Operario") Set clmx = lv.ColumnHeaders.Add(, , "Horas Extra") 'añade una linea Set itmx = lv.ListItems.Add(, rs!Nombre_Parte, DateSerial(Val(Mid(rs!fecha, 1, 4)), Val(Mid(rs!fecha, 6, 2)), Val(Mid(rs!fecha, 9, 2))), 1, 1) el segundo y el tercer parámetro son los importantes el segundo es la key y el tercero es el texto que aparecera. Ahora ya tenemos creado el objeto archivo, por llamarlo así. Ahora colgaremos las propiedades del archivo. itmx.SubItems(1) = rs!Operario itmx.SubItems(2) = rs!horas_extra Puedes añadir tantas columnas como quieras 'evento click Private Sub lv_ItemClick(ByVal Item As MSComctlLib.ListItem) Para acceder a la nombre de la clave de la fila sobre la que se ha hecho click haz lo siguiente Item.Key Puedes acceder a todos los subcampos o subitems o columnas, como quieras llamarlo del item. end sub Private Sub lv_ItemCheck(ByVal Item As MSComctlLib.ListItem) Este evento se produce si añades un check box al list view en la ventana de propiedades y alguien efectúa un check Item. Key end sub 'Para resetear haz clear del list view Lv. ListItems. Clear Lv. ColumnHeaders. Clear En principio no se puede controlar el doble click. Si quieres controlarlo. En el evento doble click del control produce por código un evento item. Click y verifica si ha hecho click sobre algún item. Hasta luego espero que te haya servido de ayuda.