![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
Ante todo, gracias. La solción que me da LucasArt ya la he probado y no funciona correctamente (al menos como yo quería). Ahora probaré lo vtdeleon a ver que tal....
![]() |
|
#2
|
||||
|
||||
|
Hola.
Seguro debe ser un espacio que te queda en blanco, en ese sentido lo de VTDELEON debería funcionar, aún así yo te recomiendo que no uses de esa forma los parentesis, de hecho nunca he visto de esa forma la sentencia. Hasta Luego -
__________________
No todo es como parece ser... |
|
#3
|
|||
|
|||
|
No es lo normal. Me refiero a utilzar así los parentesis, lo que pasa es que como no me funcionaba como yo esperaba he empezado a hacer pruebas por si era algo de los parentesis. Lo normal es que los ponga:
Código:
if (DBEdit1.text = ' ') and (DBEdit2.text = ' ' ) then gracias a los dos. |
|
#4
|
|||
|
|||
|
Bien, he probado tanto el que me ha dicho vtdeleon
Código:
If ((trim(DBEdit1.text) <> '') and (trim(DBEdit2.text) <> '')) then Código:
If((trim(DBEdit1.text) <> '') and (trim(DBEdit2.text) <> '') then ![]() |
|
#5
|
||||
|
||||
|
Para empezar, pon un punto de corte en la línea que sigue al condicional y examina el valor de DBEdit1.Text y DBEdit2.Text. Muy posiblemente observes que sí tienen algún dato.
Por otra parte te comento que lo que haces es muy, pero muy raro y da pie a pensar que el error viene de otro lado. ¿Qué hace un Insert dentro del with? Eso va a provocar que el registro actual, el que estás comparando con los DBEdits, se guarde en la base y se inserte uno más en blanco. El post que le sigue guardará entonces tal registro en blanco. Si lo que quieres es validar que ambos campos estén llenos tienes dos opciones. Una es asignar el evento OnValidate a cada campo y verificar que no esté vacío. Esta a mi no me gusta porque impide que el usuario pueda moverse de campos hasta no llenar uno. La otra opción es usar el evento BeforePost del Table asociado y ahí checar que los campos se hayan llenado. // Saludos |
|
#6
|
|||
|
|||
|
#7
|
||||
|
||||
|
Cita:
Hasta Luego -
__________________
No todo es como parece ser... |
|
#8
|
||||
|
||||
|
Quizá me equivoque pero pienso que ni Field.AsString ni Field.IsNull serán seguros.
Cuando se edita en un DBEdit, los cambios no se reflejan en el buffer del registro activo sino hasta que el foco se mueve a otro campo. Si el botón que se intenta usar es un SpeedButton que no gana el foco, o tiene el atributo deafult y el usuario oprime enter, quizá no se vacíen los datos en el buffer. Por ello insisto, ésta no es la forma de atacar la validación de campos. Más aún, en la parte del except, no tiene sentido un Insert luego de un Cancel. Me da la impresión de que el compañero Mathom tiene algunos conceptos poco claros y convendría que los repensara antes de lanzarse en la búsqueda de una solución en un código que de por sí está planteado de forma poco ortodoxa. // Saludos |
|
#9
|
|||
|
|||
|
Cita:
Cita:
También es cierto lo que comenta Roman, de que existen mejores formas de hacer estas comprobaciones, solo que yo intenté darle una solución basado en lo que estaba intentando hacer desde un principio. Saludos... |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|