![]() |
Problemas con Locate
tengo lo siguente, pero nunca cumpre la condición:
Donde existe un campo "cant" de tipo integer en el ClientDataset. ¿como puedo saber si hay algún valor 0 dentro del campo "cant"? |
|
¿Cómo puedo evitar que no falle si tengo valores NULL?
|
El tema es que en una tabla no deberia tener valores nulos, en todo caso en el campo ponele como defecto el valor '0' (cero) para que no genere un null, si no vas a tener que realizar dos busquedas, una para '0' y otra para null.
|
No va, no cumple la condición. |
en la ayuda de Delphi encontre esto:
"or if the KeyFields property does not include any string fields, Options is ignored." o sea que si el campo no es string no se cumple la funcion. Lo lamento pero en campos Integer no funciona, vas a tener que hacer una busqueda manual. |
Pues a mi con campos integer si me funciona, poniendo el 0 entre comillas ya que solo busca cadenas y sin ninguna condicion entre corchetes, con loCaseInsensitive logicamente da error, es un numero...
|
Esto si me funciona:
El truco como ves, es pasarle un string en lugar del valor entero. Creo que el lopartialkey no furula... pero no lo he quitado del código :D EDITO: Vaya.... se me adelantó Colgueit ;) Saludos |
jaja si!.
Solo aclarar el LoPartialKey, si lo pones buscas todos las cadenas que empiezen por la buscada, es decir, que si pones Pedidos.Locate('Cant','0',[LoPartialKey]), Buscara en pedidos todos los numeros en el Registro Cant que empiezen por 0, es decir, por ejemplo el 09789, el 06, etc.. Un Saludo |
La franja horaria es GMT +2. Ahora son las 05:14:38. |
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