FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Búsquedas en tablas
Buenas tardes!!!
Tengo una aplicación que rellena campos según un número de teléfono, es decir, lo típico, se pide un número de teléfono y a partir de éste se rellenan el resto de las edit. Pero me encuentro con un problema, al no ser el número de teléfono la clave, puedo tener a varias personas con el mismo número de teléfono pero con distinto nombre. Entonces, cuando rellenan el campo del teléfono hago: procedure TPres1.PTlfExit(Sender: TObject); begin With Inicio.Personas do begin First; if Locate('Tlf',PTlf.text,[]) then begin RELLENO LOS EDIT AQUÍ TENDRÍA QUE COMPROBAR SI EXISTEN MÁS PERSONAS CON ESE NÚMERO DE TELÉFONO Y ACTIVAR UN BOTÓN QUE HE LLAMADO BSIGUIENTE. BSiguiente.enabled:=True; end; end; end; No sé cómo comprobar si existen más personas con ese número de teléfono, es decir, tendría que buscar después de ese registro, pero no sé avanzar el puntero. Admeás, me falta el procedimiento de cuando le de al botón de siguiente, pero cómo avanzo el puntero de la tabla para que me busque a aprtir del que ya ha encontrado?? (poniendo 'next' me sigue encontrando el mismo) muchas gracias P.D.: Perdón por las mayúsculas, pero las he utilizado por claridad. Gracias. |
#2
|
||||
|
||||
Wop!
¿Por qué no en lugar de hacer un locate no filtras la tabla? Así solamente tendrías los registros con el teléfono en cuestión, de manera que al hacer el Next conseguirías el efecto que propones. Otra cosa, para mayor claridad, es mejor que pongas tu código entre tags [delphi], sino, da dolor de cabeza leerselo
__________________
E pur si muove |
#3
|
||||
|
||||
no es dificil, simplemente debes poner una condición en el filter y llamar a FindFirst - FindNext.
No es necesario que la propiedad Filtered este a true (aunque con eso conseguirias ver en un grid solo aquellos telefonos que cumplen la condición) seria algo asi:
__________________
todo el mundo debe creer en algo... yo creo que voy a tomarme otra copa. Última edición por marto fecha: 02-08-2004 a las 17:53:42. |
#4
|
|||
|
|||
Muchas Gracias, con eso del findFirst me funciona, no lo conocía, muchas gracias otra vez.
|
#5
|
||||
|
||||
Wop!
cuando uses los tags tienes que cerrarlos al estilo xml, en este caso, [/delphi], he editado tu mensaje, para que se vea correctamente
__________________
E pur si muove |
#6
|
||||
|
||||
Cita:
valla, lo siento .. y gracias por la corrección marto ^_^
__________________
todo el mundo debe creer en algo... yo creo que voy a tomarme otra copa. |
#7
|
|||
|
|||
Y otra preguntilla mas...
Cómo se pueden hacer los filtros por más de un campo? Gracias |
#8
|
||||
|
||||
Wop!
En la propiedad Filter puedes poner condiciones simples unidas por AND y OR. Cita:
__________________
E pur si muove |
#9
|
|||
|
|||
Ya intenté lo que me dices, pero no compila, puse:
Lo probé con paréntisis y sin ellos, y me dice: 'operator not applicable to this operand type' eso con los paréntisis, sin ellos me dice muchas más cosas. gracias. |
#10
|
||||
|
||||
mmmmm ¿tú te has leído la ayuda? La propiedad Filter es de tipo String..... no le puedes hacer un and.... el "and" tiene que estar dentro de la cadena...
__________________
E pur si muove |
#11
|
||||
|
||||
en estos casos es muy util tirar de la función Format:
__________________
todo el mundo debe creer en algo... yo creo que voy a tomarme otra copa. |
#12
|
|||
|
|||
mou?
Inglés, la verda q no entiendo mucho, la ayuda me la he leído, sí, lo q me has puesto antes ya lo había visto yo, pero la cosa es... y entonces??? cómo lo puedo hacer??? qe meta el and dónde?? ains... muchas gracias |
#13
|
|||
|
|||
Muchas gracias Ruina, empiezas a ser mi Dios... muackas!!!
|
#14
|
|||
|
|||
Otra preguntilla
Yo quiero hacer una busqueda, donde una palabra en un edit, se encuentre en cualquier parte del campo de un registro, lei en la ayuda que se puede hacer al go como esto
Cita:
algo asi select * from cliente where empresa Like '%Tijuana%' order by empresa ya intente usar el like en el filter pero me marca el error: raised exception class EDBEngineError with message 'Operation not aplicable.' , gracias por su ayuda Uso delphi 5, win 98 se, e interbase 1.0.0.315 Última edición por paren fecha: 04-08-2004 a las 01:06:16. |
#15
|
|||
|
|||
siempre no jeje
Bueno es ke me he leido este hilo
http://www.clubdelphi.com/foros/show...ghlight=Filter y ya veo ke es imposible hacer lo ke kiero , entonces tendre ke usar una sentencia sql en tiempo de ejecucion, gracias de antemano y hasta luego Última edición por paren fecha: 04-08-2004 a las 01:21:16. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|