Buscar registro y colocar fecha actual

Espero explicarme ya que no tengo mucha experiencia en access.

Tengo una tabla llamada “Ordenes” con campos “orden”, “modelo”, “fecha de envió”, “fecha de ingreso” y “fecha de liberación”, entre otros,

En un formulario llamado “entrada” ingreso la orden y por medio de “vlookup” arrastra unos datos de una hoja de Excel y el campo “fecha de ingreso” se agrega solo por la función “now”.

Lo que quiero es que en el otro formulario que tengo llamado “salida”, ingresar nuevamente la orden (orden ya existente) y que busque el registro de la orden ingresada y por medio de VBA se agregue la fecha de liberación, algo así como si usara buscar y manualmente agregara la fecha.

2 respuestas

Respuesta

Si se dispone del formulario 'Salida' ¿no seria mas sencillo utilizarlo para hacer esa actualización?.

Yo propondría una consulta en la que figurasen los registros que no tienen fecha de liberación.
La consulta seria el origen de datos de un cuadro combinado y al seleccionar uno de sus elementos (esto es uno de los registros sin fecha de salida) este se presenta en el formulario.
Estamos en el formulario y en el registro a modificar, se añade (o actualiza el dato) y se guardan las modificaciones.
No se utiliza VBA (no es imprescindible).

El detalle es que se debe ingresar muchas ordene en cuanto me llegan (ingreso aprox. 50, cada media hora o cada hora) sería muy tardado agregar la fecha como mencionas, por eso quería algo automático, como lo es en el formulario de “entrada”, para ambos formularios tengo la misma tabla de “ordenes”.

O también algo como se ingresa la orden en el formulario “salida”, se crea ese registro con los datos que arrastro con “vlookup” (al igual que en “entrada”) y tendría un duplicado de la misma orden, pero una tiene fecha de liberación y otra no, luego se elimina la que no tiene la fecha de liberación y conservo la orden más reciente.

Duplicar la creación de un registro o localizar el ya creado es una decisión de quien programa, lo correcto es utilizar la que sea más eficiente para quien tenga que utilizar la aplicación (generalmente la utilizan otros y pudiera ser el programador uno más).

La fecha... no quedo claro en la exposición inicial si la fecha de liberación era la del sistema o una que vendrá impuesta.
Si es la del sistema (una vez localizado/creado el registro) basta un simple botón que le aplicase la del sistema y en ese mismo paso la guardase y actualizase el combo (para eliminarla de el) e incluso obtener las ultimas.
Duplicar el registro no me parece la opción mas adecuada, implica volver a repetir algo ya efectuado ==> modificar o actualizar 'lo mismo' ==>  guardarlo ==> eliminar lo anterior.

Planifica los pasos en la búsqueda de la eficiencia y tras ello se programa lo adecuado para obtener el resultado que se desea, es lo más eficaz para cualquier proceso creativo.

Respuesta

Por lo que dices, se presupone que el formulario Salidas es independiente, ya que si dependiera también de la tabla Ordenes no tendría sentido lo de buscar la fecha de liberacion.

Por otro lado, si el formato del campo Fecha Ingreso es tipo fecha corta, la función que se utiliza es Date(), que representa la fecha del sistema, algo como 24/05/2022, mientras que la función Now representa 24/05/2022 17:50:04

Dicho esto, si tengo la tabla Ordenes como

En el formulario Salidas( en este caso formulario4) le añado un cuadro combinado con origen de la fila en el campo Orden de la tabla Ordenes

Cuando selecciona una

En este caso el código del evento Después de actualizar del combinado es

Private Sub Cuadro_combinado0_AfterUpdate()
FechaLiberacion = DLookup("fechaliberacion", "ordenes", "orden='" & Me.Cuadro_combinado0 & "'")
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas