| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Rilo Ens

Registrado: 03 Jun 2003Mensajes: 40Ubicación: Ávila
|
Publicado: Dom 29 Jun, 2003 4:07 pm Asunto: Problema con Query |
|
|
Mi problema es que quiero que a partir de un texto que yo introduzco en un TEdit, quisiera que la consulta SQL me diera como resultado todas las referencias que coincidieran "parcialmente" con el texto que yo introduzco. Lo tengo hecho de manera que me da todas las referencias exacta a como yo las introduzco, pero no sé como mejorarlo es decir:
En el TEdit tengo: 11
Actualmente me da:
Referencia 11 Artículo: Bolígrafo
Quiero que me de
Referencia 11 Artículo: Bolígrafo
Referencia 1123 Artículo: Lapiz
Referencia 2511 Artículo: Bloc
Muchas gracias _________________ Ávila, ciudad patrimonio de la humanidad. Visítala. |
|
| Volver arriba |
|
 |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Dom 29 Jun, 2003 10:03 pm Asunto: |
|
|
Hola Rilo, según lo que creo entender lo ke buscas es que a medida que vas escribiendo en el Edit te vayan apareciendo todas las coincidencias con el texto que llevas escrito hasta el momento ¿es así?, si es así te explico como lo hago yo:
En el OnkeyPress del Edit:
TLocateOptions opciones;
opciones.Clear();
opciones <<loCaseInsensitive <<loPartialKey;
ModuloDatos->TablaContactos->Locate("Nombre",Edit1->Text,opciones);
/*La opción loPartialKey es la que hace que busque el texto parcialmente, en la ayuda del builder viene más detallado, espero que te sirva.*/
Saludos. _________________ ¡ADELANTE CON ESTE SUPER FORO! |
|
| Volver arriba |
|
 |
Rilo Ens

Registrado: 03 Jun 2003Mensajes: 40Ubicación: Ávila
|
Publicado: Dom 29 Jun, 2003 11:00 pm Asunto: |
|
|
Lo que quiero es lo siguiente. Tengo una consulta SQL que me da la referencia exacta que yo pongo en un edit al pulsar ENTER, Lo que quiero es saber que comando le tengo que dar al SQL para que busque coincidencias parciales en la tabla, no solamente si es exacto el texto a buscar, es decir que me liste en un DBGrid todos los registros que contengan esa cedena de caracteres. Creo que se hace con una sentencia en TQuery en la propiedad SQL añadiendo la palabra like pero no sé exactamente como. _________________ Ávila, ciudad patrimonio de la humanidad. Visítala. |
|
| Volver arriba |
|
 |
TOÑO Master

Registrado: 26 Ago 2002Mensajes: 223Ubicación: Madrid - España -
|
Publicado: Lun 30 Jun, 2003 9:33 am Asunto: |
|
|
HOLA:
Dependiendo del gestor de base de datos que utilizes el comodin es diferente, pero todos lo llevan.
La query seria algo asi
Select * from articulos where codigo like = '11&'
Select * from articulos where codigo like = '11*'
Select * from articulos where codigo like = '11#'
Order by codigo.
By. |
|
| Volver arriba |
|
 |
Rilo Ens

Registrado: 03 Jun 2003Mensajes: 40Ubicación: Ávila
|
Publicado: Lun 30 Jun, 2003 8:09 pm Asunto: |
|
|
Perdonar que me explique ten mal, lo del once era un ejemplo, pero lo que quiero es introducir cualquier cadena y que me devuelva todas las referencias que tenga en la tabla que coincidan con la cadena que he introducido en el TEdit. _________________ Ávila, ciudad patrimonio de la humanidad. Visítala. |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Mar 01 Jul, 2003 7:17 am Asunto: Query |
|
|
Toño te ha dado la pista correcta. El código, teniendo en cuenta el contenido dl TEdit, podría quedar así:
| Código: | Query1->SQL->Add("SELECT * FROM '<tu tabla>'");
Query1->SQL->Add("WHERE Codigo LIKE '" + Edit1->Text + "&'"); |
_________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Mie 02 Jul, 2003 7:30 pm Asunto: |
|
|
| Muchas gracias, había probado con algo parecido pero me daba error, quizás por la no inclusión de las comillas que aparecen despues del like que es lo que me despistaba. Aparte en todos los ejemplos que encontré sobre el uso de like se le suministraba la cadena a buscar en diseño y no en ejecución. Muchiiiiiiiiiiisimas gracias. |
|
| Volver arriba |
|
 |
|