Busquedas en access

Hola, tengo otra consulta, mira: tengo un textbox el cual me sirve para hacer búsquedas de matriculas de vehículos ejemplo MTK pero a este texto yo por código le agrego *MTK* para que se filtren todos los que tengan esas letras y la búsqueda se realiza en cada evento "al presionar una tecla" entonces: cuando presiono la primera letra digamos M mi sistema buscara *M* cuando presiono la siguiente A el sistema debería buscar *MA* pero debido a la posición del cursor en el textbox el sistema busca *AM*. Como puedo hacer para que después de cada búsqueda el cursor se posicione detrás de la ultima letra presionada es decir así: ¿AM| y no |AM? Muchas gracias.
O quizás sea más fácil solucionarlo preguntando como debo hacer mi consulta para que si yo pongo XY me busque todos aquellos registros que tengan en el campo matricula las letras XY y salgan 1859 XYZ, 7589 XYT, 7816 XYW. Gracias

3 respuestas

Respuesta
1
Perdón por la demora... Estuve tratando de reproducir la situación, pero no lo he logrado, tendría que ver exactamente como lo hiciste... Si todavía no solucionaste el problema, enviame al correo un ejemplo de lo que estás haciendo y veo si puedo resolverlo.
[email protected]
Hola, muchas gracias por responder, creo que mi problema se solucionaría haciendo que en la consulta si busco ET la consulta me saque todos aquellos registros que tiene en el campo en el cual busco todos aquellos que tengan las letras ET ademas de todo, ejemplo ETC-987 ETR-2547, 654eT54, etc. ¿sabes cómo hacer eso?
Perdón por la demora, estuve ausente...
Mirá, si donde ingresás la patente para realizar la búsqueda es un elemento de un formulario por ejemplo un cuadro de texto, el criterio del campo en la consulta podría ser algo así:
Como "*" & [Formularios]![NombreFormulario]![NombreTxtBox] & "*"
y tendrías que usar la acción Form. Requery para reconsultar cuando se ingresa un dato.
Como haces esa consulta en vista diseño, porque en vista sql me dio error de sintaxis pese a que lo copie.
Justamente te lo pasé para que lo hagas en vista de diseño. En criterios del campo Patentes o como se llame ponés:
--------------------------------------------------------------------------------------------
Como "*" & [Formularios]![NombreFormulario]![NombreTxtBox] & "*"
--------------------------------------------------------------------------------------------
Donde NombreFormulario es el nombre del formulario donde se encuentra el cuadro de texto que vas a usar para buscar las patentes. Y NombreTxtBox es el nombre del cuadro de texto en cuestión.
Respuesta
1
Dim tt, tt2 As String
Option Compare Database
-------------------------------------
Private Sub Texto0_Change()
tt = Texto0.Text
tt2 = tt2 + Mid(tt, Len(tt), 1)
End Sub
Una respuesta sería lo siguiente:
Tt2 sería la variable que acumula carácter por carácter de lo que ingresas en Textbox Texto0.text (caja de texto ejemplo).
Posteriormente tt2 es la variable para la consulta SQL (*tt2*) en algún tipo de ciclo de consulta que hayas definido para tu aplicación.
Las variables tt y tt2 deben declararse a nivel general para que no se inicialicen por cada evento de cambio que ocurre al teclear sobre Texto0.text. Posteriormente puedes inicializarlas en algún evento posterior a la búsqueda SQL.
Respuesta
1
Perdona si no contesté antes, pero estuve unos días fuera.
Con la primera pregunta me has pillado, sinceramente no lo sé, nunca uso ese evento.
Con la segunda, si lo entiendo bien, prueba a poner, en la condición de la consulta:
Como *texto*
en lugar de
*texto*
No se me ocurre otra

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas