Si campo cumple condición sino...

Tengo 2 campos en mi tabla, (Alimento) cuyo formato es de un cuadro combinado que tiene 3 valores (Existencia, Agotado y Vencido), y (Fecha Vencimiento) formato Fecha..
Como hacer para cuando la Fecha Vencimiento sea igual a la fecha del sistema el campo Producto cambie su valor, de "Existencia" a "Vencido"... (supongo que con DateDiff y la sentencia IF.. Then.. Else.. Pero ni idea de como hacerlo)...
El campo Alimento tiene como Valor Predeterminado "Existencia" y en la tabulación primero está el campo Alimento y luego sigue el de Fecha de Vencimiento...

1 respuesta

Respuesta
1
¿Me estás hablando de una tabla o de un formulario?
Formulario
No entiendo demasiado el planteamiento, si tienes un valor predeterminado en el cuadro de texto Alimento "Existencia" y lo quieres cambiar Vencido si la fecha es igual o (supongo) mayor que la del sistema ¿para qué quieres el cuadro combinado? Sería un cuadro de texto que iría cogiendo los diferentes valores... o el agotado que supongo que lo pondrías tú (yo lo haría, en este último caso mediante una casilla de verificación agotado=Sí/No)
Me cuentas.
Ok, olvidémonos de la opción Agotado, trataré de explicárselo de otra forma:
En mi Formulario Productos tengo varios campos, uno de ellos es Alimento cuyos valores para el usuario son "Existencia" o "Vencido", el valor predeterminado de ese campo es Existencia, cuando tabulas cae en un campo de Fecha Vencimiento... al cual el usuario debe introducir una fecha que bien puede ser la fecha de aquí a 8 meses, etc..
Que desearía:
Que cuando el sistema detecte que esa Fecha Vencimiento sea igual o mayor que la del ordenador cambie el valor del campo Alimento que es "Existencia" por la de "Vencido"..
Trate de hacerlo con sentencia IF.. Then.. pero no dominó mucho el lenguaje y me da un error..
If DateDiff("d", Form!Fecha_Vencimiento, Date) > Date   Then
Form!Alimento.Value = "Vencido"
End If
¿Pudiera corregir la sentencia?
La función DateDiff lo que te da es el nº de días transcurridos entre una fecha y otra, por lo que no lo puedes igualar a la función Date que lo que te devuelve es la fecha del sistema, es decir, supón que la fecha vencimiento es el 4/03/2011 como hoy es 2/03/2011 la función datediff te devuelve 2 y lo que haces es igualar
2=02/03/2011, de ahí el error, o bien lo igualas a 0 o simplemente haces:
If Form!FechaVencimiento=Date then
Me cuentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas