![]() |
Locate no buscar parcialmente, por que?
Hola Foro, tengo un query el cual muestra una serie de facturas ordenadas por el campo total (float, tablas en paradox).
En la ficha tengo colocado un edit y en el evento Onchange lo siguiente: Código:
datos.Qfacturas.Locate('TOTAL',strtofloat(edit1.text),[loPartialKey]); Esto es la idea pero lo que ocurre es que el cursor no se mueve del primer registro. Que estoy haciendo mal? Gracias y saludos. |
Hola, he mirado la documentación y pone:
Cita:
EDITO: pues no. Lo acabo de probar y no es por eso. En los Zeos lo coje bien siendo un integer. Mira a ver si hay problemas con los puntos de mil y la coma de decimales... no se me ocurre otra cosa... |
No creo que sea por el punto de mil , ni por la coma de decimales, ya que hay cantidades como '900' y tan poco la busca.
Tiene alguien alguna idea mas. Gracias. |
Quita el lopartialkey, ya que 1 ya coincide con la búsqueda parcial, por tanto nunca buscará el 12.
Un saludo |
Lepe, he quitado lo que me comentas y sigue igual. Si estoy buscando el 107 , hasta que no escribo el 7 no se mueve al registro, es decir, hasta que no escribo el número exacto.
Alguien tiene alguna idea mas. No puede ser tan complejo hacer una busqueda por un numero. Gracias. |
Claro, como se me ha pasado ... jejeje
tu le dabas el valor en Float, y lo toma como una unidad, es decir, de un número no puedes partir el primer caracter y/o el segundo, para poder hacerlo tiene que ser un String. Al pasarle los datos como String (edit1.text) ahora si busca parcialmente. (que conste que lo he probado con un campo de tipo Entero, con un Float no). saludos |
He probado lo que me has comentado (pero con el campo 'total' de tipo float) y tampoco funciona. Seguire buscando otra forma.
Gracias por las ideas. Alguien conoce otro metodo? |
Probaste con el componente gnu JEDI VCL tiene varios componentes que hacen eso:
el que uso yo y hace lo que escribiste en código (con la diferencia que no escribís una palabra) es el JvDBFindEdit y ponele en "Find Style" Navigate si querés que se te acomode en el primer registro (según FindMode) o filter (la que uso casi siempre yo); y funciona como un filtro, desapareciendo los datos no buscados. Ni hablar, es lo que necesitás. Fijate que tiene mucho otros componentes muy útiles. Avisame como te va. Saludos :D |
Donde puedo conseguir este componente para probarlo.
|
colocando JEDI VCL en google, aparece como primer resultado.
saludos |
Exactamente como dice Lepe.
|
Hola!!!!
heme de nuevo aqui. bueno mi problema es el siguiente: tengo una tabla con dos campos como llave primaria ej. Folio(key) Num(key) valor1 valor2 001 01 2.25 1.25 001 02 1.25 2.25 002 01 002 02 003 01 004 01 lo que quiero hacer es que desde el principio busque en los 2 campos llave.: al momento de que yo guarde en el folio 002 con el numero 02, se debe de ir directamente ese registro y guardar los resultados. pero no se como ponerle en las opciones de TLocateLocateOption, porque si le pongo loPartialkey solamente va a buscar en el campo que yo le diga p.e. necesito que me muestre el folio 001 con el numero 05
y eso es lo que no quiero yo quiero que me busque en los dos campos como si fuera uno solo. Lo que pasa es que si le pongo que me busque el folio con LoCaseInsensitive, me marca que no existe ese folio Esto lo digo, porque en la tabla probablemente tenga Gracias Cómo te sientes hoy?? |
Si es que primero hay que mirar la ayuda de delphi ;)
|
Sip. lo siento.
Lo que pasa es que me faltaban los parentesis. Lo siento mucho Gracias Cómo te sientes hoy? Saludos |
La franja horaria es GMT +2. Ahora son las 21:38:47. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi