Validar fechas

Respuesta de
a
Usuario
Como puedo cambiar el formato de fecha cuando, del recordset viene en blanco la fecha y no lo reconoce mi variable a un que es del mismo tipo.

Osea:
Variable tipo DATE
UCOUTBOUND_CLI="" esta asignaciòn manda errror por que dice que es un string como validar que no hay nad
Experto
A ver...

Cuando vas a guardar fechas en una campo con formato de fecha te da error...

Este error se produce cuando... vas a guardar una fecha vacía

Entonces

Directamente... no actualices ese campo...

Si tienes un tabla por ejemplo persona: nombre, apellido, fecha_nacimiento

Tomas una persona, modificas el nombre y el apellido... pero la fecha NO o tal vez quieres borrar la fecha que tenia y dejar sin asignar nada

Suponemos que tomas los datos de un textbox

if txtFecha.text = "" then
rs!fechaNacimiento = vbnothing

end if

vbnothing o nothing

Alguna de las 2 es...

Esto sirve... para que si eliminamos los datos de un campo... los borre de la bd

La bd ocupara menos espacio.. que asignándole una cadena ""

También sirve para los otros campos

Si por ejemplo quisiéramos que el nombre borrar el nombre de una persona de la BD...

La forma más optima es... hacer que en ese campo... no haya nada... en lugar de asignarle una cadena vacía a ese campo...

¿Me explico?

-------------

Cualquier problema me vuelves a preguntar

Saludos de ezequiel
Experto
A ver...

¿Cuál es la variable tipo date?

Ademas una cosa

Para asignarle nada...

Directamente no le asignes nada

No hace falta asignarle una cadena vacía

si esto es en la bd

Podes poner la condición de que si
La variable de fecha,,, esta vacía

Entonces no asigne nada a ese registro

if not isEmpity(fecha) then
asignar al campo
end if

Si esta vacía no hace nada

Si con isempity no funciona proba con

Isnull()

O alguna variante de esos que muestran información sobre las variables

Creo que con isnull debería funcionar

Un saludo de ezequiel
Usuario
Hola! Gracias por la respuesta

Pero ya tengo asignado el isnull, lo que pas es que cuando llamo a la vairble fecha de la base de datos esta trae una cadena en blanco por default desde la base de datos

Mi variable de la fecha es rsSQLACTFARM y cuando hago la consulta esta viene
como rsSQLACTFARM ="" por lo tanto no trae nada, este dato se lo paso a una variable tipo date y es cuando dice que no es del mismo tipo.

Te pongo la condición que tengo
Donde UCINBOUND_CLI es una variable tipo DATE

If IsNull(rsSQLACTFARM.Fields("UCINBOUND_CLI").Value) Then
UCINBOUND_CLI = CDate(Val(iDIA & iMES & iANO))
End if

Gracias
Experto
Este era el código que me pasaste aNTES

Variable tipo DATE
UCOUTBOUND_CLI=""

ESTE ES EL QUE ME PASASTE AHORA

UCINBOUND_CLI = CDate(Val(iDIA & iMES & iANO))

podrias usar una variable string

Para ponerle la fecha como una cadena y después transformarla en formato fecha creo que seria más simple

No me acuerdo de memoria cual es el comando para hacerlo pero se puede

Creo que era algo así como
asDATE("12/07/2004", formato)

A ver...

Aclarame cual es tu duda.. porque como son códigos distintos no se en que tienes el problema

Saludos de ezequiel
Usuario
El problema es que cuando voy a salvar las fechas en access y estas vienen en blanco manda el error que no son del mismo tipo, pero la base de access es de un programa donde no se pueden modificar los campos fecha.

Por yo también había pensado en mandarlos como string pero manda error al darle update, por que no son del mismo tipo, ademas cuando el campo fecha viene en blanco manda error también por que trae un cadena en blanco y no reconoce las funciones de isnull o la que anteriormente me dijiste.

No se si me puedas ayudar.
Gracias