Datawindow tabular con celdas vacías

Hola!
Te cuento mi problema.
Tengo un datawindow de tipo tabular, en que le puse como regla de validación que el campo ingresado que es numérico sea mayor que cero. Todo bien, pero es posible que este campo no tenga un valor. Si yo cliqueo ese campo por equivación sin querer ingressar nada al pasar al siguiente me sale en el mensaje de error, no me deja pasar al siguiente y yo quisiera que me lo deje vacío.
¿Qué puedo hacer?
Ademas, quisiera saber como lo hago para poder guardar lo ingresado e excel. Probé con el SaveAs, le puse un mensaje para que me avise si si se guardo bien (si er=dw_1.SaveAS("... Etc)=1)y me dice que guardo bien, pero no es así, cuando abro en excel no hay nada. Leí por ahí que no lo guarda con el formato (?) tiene algo que ver que mi datawindow es de estilo tabular?
Gracias
Marce
Respuesta
1
Cuando uno valida un campo como numérico, entonces se entiende que tienes que ingresar un número sea cero u otro, al no ingresar nada entonces sería un NULL, este valor NULL no es un campo numérico, es por ello que te muestre ese error.
Lo que puedes hacer es lo siguiente, declara el campo como texto, pero cuando vas a grabar o archivar lo conviertes a numérico, ahí si te permitirá el campo vacío, ejm:
int numero
numero=int(sle_1.text)
pero debes tener encuenta el campo vacío.
Si el campo es vacío lo dejas ahí nomas no conviertas nada.
if sle_1.text<>'' then
numero = int(sle_1.text)
end if
En cuanto a tu dw para exportarlo a excel deberas hacer lo siguiente:
Integer li_ret, li_currow,li_fh
String ls_named,ls_txtname,ls_cod_generacion,ls_ley1
String ls_defext = "xls"
String ls_filtro = "Archivo de Excel(*.xls),*.xls"
//el filtro tambien puede ser
ls_filtro = "Archivo de Texto(*.txt),*.txt"
li_ret = GetFileSaveName("Guardar Achivo",ls_txtname,ls_named,ls_defext,ls_filtro)
//si usa el filtro de xls
dw_1.SaveAs(ls_txtname, excel!, TRUE)
//si usa el filtro de txt
dw_1.SaveAs(ls_txtname, text!, TRUE)
si deseas exportarlo sin cabecera solo tienes que cambiar el true a false
Cualquier duda solo pregunta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas