Delphi - Mensaje de error cuando filtro tabla através de

 
Vista:

Mensaje de error cuando filtro tabla através de

Publicado por Nando (41 intervenciones) el 30/05/2005 04:04:01
Hola gente!!
Tengo el siguiente problema:
Cuando ingreso un dato ( unúmero) através de un Edit, filtro una tabla pdox, respecto a un campo llamado CODIGO . De ahí me aparecen todos los datos de los campos de la table1, en los DBEdit colocados en el Form.
OK!! Bueno el código que esribí fué colocado en el EDitChange del EDit. y es el siguiente:

Form2.tb1.Filter:='CODIGO='''+Edit2.Text+'''' ;

Entonces cuando escribo el valor de CODIGO en el Edit2, me filtra la tabla y me muestra los datos del los campos.

PROBLEMA: Cuando voy a colocar un nuevo valor , por ejemplo el 5 y estaba en 2, para escribir el cinco tengo que borrar primero el 2. Cuando lo hago el Edit queda vavio y me sale el Mensaje siguiente:

"is not a valid integer Value".
Si busco una picardía como escrib+ir al lado el numero nuevo y luego borro el que tenia, No me sale el mensaje y no complica
.
Cómo soluciono este tema???
Desde ya agradezco si me pueden dar una mano para saber que está pasando o que hacer!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Mensaje de error cuando filtro tabla através d

Publicado por Diego Romero (636 intervenciones) el 30/05/2005 07:40:58
Pues pon un if antes de la instrucción de filtrado que verifique que el edit no esté vacío ;).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Mensaje de error cuando filtro tabla através d

Publicado por Virum (484 intervenciones) el 30/05/2005 18:38:34
Hola:

Por el error que te da, en algún sitio transforma el valor string del edit a valor numérico, y si el edit está vacio da ese error.

Si realmente es eso lo que ocurre, lo puedes solucionar con otra picardía como tu dices, simplemente al transformar el edit en valor númerico pon un cero delante.

Si edit1 vació entonces Val( edit1 ) da error
pero si pones Val( '0' + edit1 ) no da error y no altera nada.

Otra cosa, Form2.tb1.Filter:='CODIGO='''+Edit2.Text+'''' con tantas comillas resulta complicado, utiliza QuotedStr cuando puedas que es más claro.

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar