SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Marc en Miércoles 24 de Marzo de 2004, 15:30
-
Hola a todos,
tengo un control combobox enlazado a una data
funciona bien, incluso tiene un procedimiento para buscar escribiendo dentro de él
el drama es que me modifica los datos que muestra.
Por ejemplo, si el combo despliega los nombres Juan, Claudio, Teresa, Isabel, y
escojo Teresa, me modifica Juan y a claudio con el nombre Teresa.
Lo peor es que esto ni siquiera sucede siempre. Puede pasar una de cada 5 veces que
se ingresa al combo.
Este codigo le tengo puesto:
Data3.Recordset.FindFirst "ucase(nombre) = '" & (Combo1.Text) & "'"
y el procedimiento:
Sub BuscaCombo(ByRef KeyAscii As Integer)
If KeyAscii < 32 Then Exit Sub
Dim Posic As Long, Buscar As String
On Error Resume Next
With Screen.ActiveControl
If .SelLength = 0 Then
Buscar = .Text & Chr$(KeyAscii)
Else
Buscar = left$(.Text, .SelStart) & Chr$(KeyAscii)
End If
Posic = SendMessage(.hWnd, &H14C, -1, ByVal Buscar)
If Posic <> -1 Then
.ListIndex = Posic
.SelStart = Len(Buscar)
.SelLength = Len(.Text) - .SelStart
KeyAscii = 0
End If
End With
On Error GoTo 0
End Sub
Alguien sabe por qué me pasa eso?
Gracias.
-
Hola Marc.
Prueba estableciendo la conexión del data únicamente de lectura. Si no puedes, no permitas escribir directamente sobre el combo: supervisa el evento KeyPress y ve informando una variable String con el valor de las pulsaciones de las teclas, establece KeyAscii = 0 de cada vez y busca la coincidencia en el combo mediante la variable, no mediante el valor del combo.
No sé si me he explicado muy bien. No probé esta solución que te doy, pero estoy seguro de que tiene que funcionar sin mayores problemas.
Suerte.
-
Hola Brroz
gracias por responderme
para establecer el data sólo de lectura (no sé si a esto te referías), fui a las propiedades del combo y en style le puse
2.Dropdowne List
Lo probé varias veces y como a la 10a vez igual me cambió los datos. :(
La segunda opción que me diste no la pude hacer.
Será mucho si me mandas un pequeño ejemplo por favor?
Saludos.
P.D.: mientras tanto veo qué le invento a mi cliente....... :blink:
-
yo de nuevo.
se me ocurrió quitarle el enlace a la data
y lo he probado varias veces y todavía no falla.
de todos modos, si puedes te agradecería mucho lo del ejemplo que te hablé antes,
Gracias Brroz.
-
Salu2
Yo he estado solicitando ayuda en el foro para algo como esto que tu tienes,
me disculpas, yo no sé mucho, apenas empiezo con esto, haber si me regalas el
codigo y la pantalla del formulario.
Que la pases bien! :)
Hasta luego