SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Trazos en Miércoles 10 de Marzo de 2004, 17:42
-
:hola: Buenas, traigo una peguilla, veremos si podeis guiarme hacia el camino. Resulta que selecciono en un dbcombo un nombre de la lista que presenta, hago una seleccion y me lo presenta en el formulario con el resto del registro, pero al actualizar refresco el Data y se queda solo con el seleccionado. ¿ Como podría seleccionar y que el data siga lleno?
He intentado no refrescar pero no me selecciona.
Espero vuestra ayuda. Gracias, este es el código que empleo:
Data1.RecordSource = _
"SELECT * FROM PUBLICACIONES WHERE NomPubli='" & _
DBCombo1.Text & "'"
Data1.Refresh
-
Hola Trazos.
Utiliza dos controles data distintos...
Chao.
-
En lugar de usar un comando SQL para buscar, usa esta rutina en el evento clic del dbCombo y no perderás los datos en Data1
Private Sub DBCombo1_Click(Area As Integer)
If Area = dbcAreaList Then
If DBCombo1.Text <> "" Then
If Not Data1.Recordset.BOF And Not Data1.Recordset.EOF Then
Data1.Recordset.Bookmark = DBCombo1.SelectedItem
End If
End If
End If
Area = 0
End Sub
:)
-
Efectivamente lo que tienes que hacer es usar dos Data uno para llenar el DBCombo y el otro lo utilizas para la busqueda, por que lo que pasa es que estas utilizando el mismo para las dos cosas y entonces el DBCombo cuando vuelve a actualizarse solamente va a encontrar en el Data el registro que encontraste....
:devil: ------------------ :angel:
-
:D Gracias amigos, gracias a todos por vuestra pronta y acertada respuesta.
He probado las dos opciones tanto utilizar dos Data como me dijo [BRROZ] , y como utilizar el código que me sugirió el amigo [CPMARIO], las dos funcionan pero he optado por utilizar el código y así no empleo mas controles.
Tambien me he dado cuenta que si en lugar de poner todo el código en [CLICK] que solo funciona con el ratón, solo pongo la siguiente línea en [CHANGE], dentro del DBCombo y también funciona.
Data1.Recordset.Bookmark = DBCombo1.SelectedItem
Gracias nuevamente.