Resuelto Consultas con parámetros en libreoffice base

Imagen de fernan
74 puntos

Hola a todos:
Me gustaría saber que tengo que poner en criterios, o si existe alguna función, para hacer una consulta con parámetro en libreoffice base, la versión que hay en Ubuntu 13.04, que cumpla los siguientes requisitos:
1º- Que al ejecutar la consulta te pida el título del disco.
2º- Que busque todos los discos cuyo título contenga lo que le indiques en el cuadro de diálogo o caracteres antes+parámetro o parámetro + caracteres después.
3º- Que no distinga entre mayúsculas y minúsculas.
Os pongo el siguiente ejemplo:
- Se ejecuta la consulta y te pide el título del disco.
- Contestas en el cuadro de diálogo sin miedo.
- Te saca todos los discos cuyos títulos sean: sin miedo - *sin miedo- sin miedo*
Los * quiero decir cualquier carácter o conjunto de caracteres, y que sea igual contestar en el cuadro de diálogo con mayúsculas o minúsculas.
En Access si que se puede hacer, la base de datos de momento la tengo en Access y si que hace esto.
De momento he conseguido que en una consulta de libreoffice base me pida el título pero tengo varios problemas con la consulta que he creado:
1º- He puesto en criterios :Título porque si intento poner una frase cuando hay espacios ya no funciona la consulta, no hace nada te saca la tabla en blanco.
2º- Distingue entre mayúsculas y minúsculas y quiero que no las distinga.
3º- En el ejemplo anterior sólo te saca el disco cuyo título es Sin miedo pero por ejemplo no te saca otro disco que tengo que se llama Sin miedo a nada (parámetro +*)
Saludos y gracias.

Imagen de Jose Luis 1320
+1
-1
-1

...sería mucho más fácil que alguien aquí te diga todo.

Y a lo mejor ¿por que no? en un foro de Libreoffice.

+1
-1
-1

"Yo sólo se que no se nada"
-Sócrates, filósofo griego.
-Normas del foro

Imagen de Goyo
+1
0
-1

Necesitas el operador LIKE y la función UCASE (o LCASE o UPPER o LOWER).
Puede haber alguna diferencia según el motor de bases de datos, no estoy seguro si libreoffice lleva HSQLDB 1.8 o 2.X pero en este caso no creo que importe.

+1
0
-1
Imagen de fernan
+1
0
-1

Hola a todos:
De momento he puesto el siguiente criterio:
COMO ( '%' || :Título ) || '%'
Con esto logro que me pida el título y si le pongo Sin miedo me saca dos discos, uno que se titula Sin miedo y otro que se titula Sin miedo a nada.
Aunque he logrado un progreso, buscando por Internet, todavía falta que no me distinga entre mayúsculas o minúsculas porque si respondo al parámetro sin miedo, no me saca nada ya que los títulos que tengo en la base de datos empiezan por mayúsculas.
He visto algo de la función UPPER pero no he logrado nada, ¿hay alguna función para decirle que no distinga mayúsculas y minúsculas?
Saludos.

+1
0
-1
Imagen de Goyo
+1
0
-1

¿hay alguna función para decirle que no distinga mayúsculas y minúsculas?

No que yo sepa, tienes que convertir los dos valores a comparar (el del parámetro y el del campo) a mayúsculas (o minúsculas).

+1
0
-1
Imagen de fernan
+1
0
-1

Hola:
Pues ya lo he resuelto poniendo un nuevo campo en la consulta con UPPER delante UPPER (tabla.campo) haciendo invisible este campo y luego en criterios le pongo COMO UPPER ( '%' || :Título ) || '%
De esta forma logro que sea igual si respondo con mayúsculas o minúsculas al parámetro.
Saludos.

+1
0
-1