Insertar la fecha actual en un campo de fechaHora cuando en otro campo numérico tiene un valor > o igual que 1

Tengo un campo numércio de recepción de productos que le llamo "CantidadRecibida" . Cuando este campo contiene la cantidad igual o mayor que 1 quisiera insertar, al perder el foco, la fecha de la transacción en el campo "FechaTransacción". Y, por supuesto, no lo hago bien:

Private Sub CantidadRecibida_LostFocus()

If Me.CantidadRecibida >= 1  Then
Me.FechaTransaccion = Date

End If

End Sub

1 respuesta

Respuesta
1

Pues la instrucción la tienes bien. Si en el cuadro de texto cantidadrecibida escribes algo, prueba a poner la instrucción en el evento Despues de actualizar del cuadro de texto CantidadRecibida., o prueba a ponerlo en el evento Al recibir el enfoque del cuadro de texto FechaTransacción.

Esto te lo digo porque no sé si es por el puto corrector de texto de esta página o por error tuyo. En un lado al campo lo llamas Fechatransacción con acento y en la instrucción le pones

Me. Fechatransaccion sin acento

Hola de nuevo. El campo está bien, lo tengo muy en cuenta los acentos, el campo y la instrucción lo llamo FechaTransaccion, pero el título está con acento. Ya he probado después de actualizar en el campo CantidadRecibida,  y también al recibir foco en el campo FechaTransaccion. No sé qué puede ser, tampoco creo que tenga nada que ver que sea en el subformulario, verdad?

De todos modos volveré a comprobarlo.

Muchas gracias Icue!

No te fijes en los demás valores, es por aprovechar una tabla ya hecha. En la imagen verás que en la tabla DetallePedido le he añadido los campos CantidadRecibida y Fechatransaccion(sin acento).

Con la tabla Pedidos y DetallePedido hago un formulario con subformulario. Y en el evento Después de actualizar del cuadro de texto CantidadRecibida(que como te dije puede ser en cualquier otro evento)

Entonces en el subformulario

Escribo 350 y pulso Enter(que sería lo mismo que Al perder el foco)

Si quieres, repito, si quieres, mándame un mensaje a [email protected] y te mando un ejemplo. Si lo haces, en el asunto del mensaje pon tu alias Javier Fernández, ya que si no sé quien me escribe ni los abro.

Icue, ya funciona, mil gracias! No sé que he debido hacer, puesto que ya probé en después de actualizar. A lo mejor era que tenía el código en el campo FechaTransaccion al tener foco, y seguro que se molestaban, y no me acordé de quitarlo. En cualquier caso me funciona. Ahora he probado si vuelvo a poner el campo a cero y que me quite la fecha: 

If IsNull(Me.CantidadRecibida) Or Me.CantidadRecibida = 0 Then
Me.FechaTransaccion = ""

End If

Al principio no me funcionaba, y era por que puse el fin de las dos instrucciones al fina,l en vez de ponerlas al fin de cada instrucción. Gracias por las molestias que te has tomado en enviarme la simulación. Levo un tiempo con Access, pero la programación apenas puedo ponerme a ratitos, espero ir mejorando. Mil gracias! Saludos!

Si te funciona perfecto, pero no es necesario poner otra instrucción, puedes ponerla con else. ÑPor ejemplo

If cantidadrecibida>=1 then

fechatransaccion=Date

else

fechatransaccion=null

end if

Tambien puede anidar condiciones

If cantidadrecibida> 10 and cantidad recibida<=20 then

.....

elseif cantidadrecibida>20 and cantidadrecibida<=30 then

...

Elseif cantidadrecibida>30 and cantidadrecibida <400 then

...

end if

Es decir, si el campo Cantidad recibida es mayor que..., entonces... y si no cumple esa condición, sea cual sea su valor hace lo de else...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas