Control de fecha de caducidad en formulario access 2013

Tengo un formulario en el que quiero controlar que la fecha de caducidad no sobrepase el mínimo fijado en la ficha del artículo. Si ocurre quiero mostrar un mensaje de aviso y dejar continuar.

El campo del formulario se llama caducidad y el mínimo de la tabla artículos se llama cadminima. Intento generar el código en un evento después de actualizar la fecha del campo caducidad pero no lo consigo. No sé mucho sobre generar código

Respuesta
2

La verdad, no he comprendido de todo la pregunta pero... Supongamos que en el formulario tienes algo que identifique un registro, por ejemplo Producto, en el evento Antes de actualizar del cuadro de texto Caducidad puedes poner

If caducidad<=dlookup("cadminima","articulos","producto='" & me.producto & "'") then

Msgbox"La caducidad no puede ser menor que cadminima", vbokonly,"Que lo sepas"

Docmd. Cancelevent

end if

O sea, cuando escribes una fecha y pulsas Enter comprueba que esa fecha no sea menor que la que corresponde a ese producto en la tabla Artículos. Si fuera menor, te sale el mensaje y el cursor se vuelve al control Caducidad para que la cambies.

Me explico mejor:

En una grabación de pedidos, cuando me teclean la fecha de caducidad con la que nos ha llegado el producto, quiero comprobar que le quedan más días buenos para el consumo de los que me indica ese artículo en su ficha (si me llega con 20 días y en su ficha pone que el mínimo son 30, que me avise)

Ponía algo como esto:

if DifFecha("d",caducidad,Date) < articulos!fechaminima then

MsgBox "atención a la fecha"

Cmd.close

Lo he escrito de memoria y no sé si es así exactamente. Pero me casca. No sé por qué. Me dice que no está establecida la función o algo así. No sé si cuando usas una función pública hay que definirla o algo.

Si pudieras ponerme un ejemplo dando por hecho que no tengo ni idea de meter código en el Access, te lo agradecería. Yo programaba pero en otros lenguajes y hace mucho tiempo

Gracias y un abrazo

Si tengo una tabla Productos con

Y tengo otra tabla Entradas

Con ésta última construyo un formulario, da igual si es único o continúo, en el que sustituyo el IdProducto por un combinado donde aunque guarde el valor Idproducto, me muestre el nombre

Te pongo dos de las mil formas que hay para hacerlo

Si elijo un producto, me sale un mensaje

Donde te dice los días que tiene ese producto de caducidad. La otra forma es seguir rellenando los datos y cuando le pongo la fecha de caducidad me compara las fechas y me avisa. En este caso he puesto una fecha menor que la que le correspondería según la tabla Productos

Si por el contrario elijo otro producto, en este caso Aceite, con una cad mínima de 100 días

Me avisa de la caducidad que tiene y si sigo rellenando y le pongo fecha de caducidad

Personalmente creo que el primer mensaje sobraría, pero... El código de los eventos Después de actualizar del combinado IdProducto y Antes de actualizar del cuadro de texto FechaCaducidad es

De todas formas, si quieres, repito, si quieres, mándame un mensaje(sólo el mensaje) a [email protected] y te mando un ejemplo. Si lo haces, en el asunto del mensaje pon tu alias Villakarried, ya que si no sé quien me escribe no los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas