Pregunta: | 1432 - COMO ABRIR O SIMULAR UN DBCOMBO DESDE UNA COLUMNA DE DBGRID |
Autor: | Jorge Danilo Rueda Sanabria |
Estoy trabajando con VB50 y quisiera aprender a desplegar una lista de nombres de una tabla desde una columna de un dbgrid para posteriormente almacenar el campo clave de la lista en otra tabla asociada con el dbgrid. Por favor si saben como se realiza... |
Respuesta: | Ambrosio Cardoso Jiménez |
En este momento no tengo el archivo a la mano, puro puedes visitar la página de un experto en visual basic Esta es la dirección http://www.eidos.es/vExpert Encontrarás el articulo personalizando el DbGrid |
Respuesta: | Jorge Danilo Rueda Sanabria |
Bueno estaba buscando esta respuesta y yo mismo la respondo gracias a mi amigo Adolfo Mujica: Incluimos el siguiente codigo en el formulario, con un dbgrid y un dblist enlazados: Private Sub DBGrid1_ButtonClick(ByVal ColIndex As Integer) Dim C As Column ´ La columna 1 se le estableció la propiedad button = true If ColIndex = 1 Then ´ La lista esta invisible? If DBList1.Visible = False Then Set C = DBGrid1.Columns(ColIndex) With DBList1 ´Muestra la lista. .Left = DBGrid1.Left + C.Left .Top = DBGrid1.Top + DBGrid1.RowTop(DBGrid1.Row) + DBGrid1.RowHeight .Width = C.Width + 15 ´.ListIndex = 0 .Visible = True .ZOrder 0 .SetFocus End With Else DBList1.Visible = False End If End If End Sub Private Sub DBGrid1_Scroll(Cancel As Integer) ´Oculta la lista al presionar el scroll DBList1.Visible = False End Sub Private Sub DBLIST1_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case vbKeyReturn ´Asigna el texto seleccionado. DBGrid1.Columns(1).Text = DBList1.Text DBList1.Visible = False Case vbKeyEscape DBList1.Visible = False End Select End Sub Private Sub DBLIST1_LostFocus() ´Oculta la lista al perder el foco DBList1.Visible = False End Sub Private Sub DBLIST1_DblClick() ´La misma opcion que cuando presiona ENTER DBLIST1_KeyPress vbKeyReturn End Sub Private Sub DBList1_Click() ´La misma opcion que cuando presiona ENTER DBLIST1_KeyPress vbKeyReturn End Sub |