Hola a todos.
Estoy intentando crear en Sqlite una consulta que me devuelva los registros, en los que uno de los valores contenga varios dígitos en un determinado lugar. Por ejemplo, para:
Registro1: Pérez
Registro2: Perez
me devuelva ambos registros. Para ello estoy intentando utilizar la expresión:
Select * from Tabla WHERE Apellido LIKE '%[eé]%'
¿ Alguien sabe por qué no me funciona ?. Gracias
Crear Una Consulta En Sqlite
Subject: Re: Crear Una Consulta En Sqlite
Hola lumbanico
No estoy seguro de que la sintaxis de sqlite admita expresiones regulares. Yo uso otro método con un textbox y un columnview:
De esta manera, cada vez que cambie el texto en "txtBuscar" con el evento _Change, se ejecutará la consulta, devolviendo los resultados.
No olvides preparar el columnview añadiendo antes el nº de columnas y el texto de las cabeceras, por ejemplo en el form_load():
Espero que sea lo que buscas,
Saludos
No estoy seguro de que la sintaxis de sqlite admita expresiones regulares. Yo uso otro método con un textbox y un columnview:
PUBLIC SUB txtBuscar_Change()
DIM hResul AS Result
DIM clave AS String
IF dbTablas.connDB(User.Home &/ "/.dfh_Log/tablas.db") THEN RETURN
cView.Clear() ' limpio el columnview
hResul = dbTablas.cnTablas.Exec("SELECT * FROM tpea WHERE Provincia LIKE '%" & txtBuscar.Text & "%' ORDER by Matricula ASC")
DO WHILE hResul.Available
clave = hResul["Matricula"]
cView.Add(clave, clave)
cView[clave][1] = hResul["Provincia"]
hResul.MoveNext()
LOOP
END
DIM hResul AS Result
DIM clave AS String
IF dbTablas.connDB(User.Home &/ "/.dfh_Log/tablas.db") THEN RETURN
cView.Clear() ' limpio el columnview
hResul = dbTablas.cnTablas.Exec("SELECT * FROM tpea WHERE Provincia LIKE '%" & txtBuscar.Text & "%' ORDER by Matricula ASC")
DO WHILE hResul.Available
clave = hResul["Matricula"]
cView.Add(clave, clave)
cView[clave][1] = hResul["Provincia"]
hResul.MoveNext()
LOOP
END
De esta manera, cada vez que cambie el texto en "txtBuscar" con el evento _Change, se ejecutará la consulta, devolviendo los resultados.
No olvides preparar el columnview añadiendo antes el nº de columnas y el texto de las cabeceras, por ejemplo en el form_load():
cView.Columns.Count = 2
cView.Columns[0].Text = ("EA Reference")
cView.Columns[1].Text = ("Province")
cView.Columns[0].Text = ("EA Reference")
cView.Columns[1].Text = ("Province")
Espero que sea lo que buscas,
Saludos
Subject: Re: Crear Una Consulta En Sqlite
Lo que estoy intentando es que en la selección de registros no me discrimine las tildes, y me muestre todos los datos que coincidan con el filtro, independientemente de las tildes. De forma similar a como tengo hecho en Microsoft Access con Visual Basic.
Muchas gracias.
Muchas gracias.
Subject: Re: Crear Una Consulta En Sqlite
Viejo lo que comentas no funciona por que la query esta buscando una palabra que contenga en ese orden las 2 letras que pusiste mas los corchetes cuadrados, no es un problema ni de gambas ni sqlite... hasta ahora no tengo entendido que sqlite soporte expresiones regulares.
si queres busar las dos cosas debes hacer un or
si queres busar las dos cosas debes hacer un or
"select * from tabla where text like '%e%' or text like '%è%';"
lumbanico escribió:
Page 1 of 1
You cannot post new topicsYou cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events
This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Generation Time: 0.107s (PHP: -32% SQL: 132%)
SQL queries: 23 - Debug Off - GZIP Enabled