Actualizar valor de campo de registro anterior

Quiero que al meter un campo de un registro en un formulario, este se copie a otro campo de un registro anterior.
Me explico mejor, tengo una base de datos en access en ella apuntamos los pedidos que nos entran la hora de llegada y de fin. En el momento que se apunta la fecha de llegada de un nuevo paquete, esa misma hora pertenece a al finalización del anterior. Por lo tanto quiero dejar siempre en blanco el campo fecha fin hasta que se cree un nuevo envío y a este se el asigne una fecha de llegada, entonces esa fecha se actualizara como fecha fin del anterior registro. No se como realizar esto, ni si se puede hacer.

1 respuesta

Respuesta
1
Supongamos que la tabla se llama TablaPedidos, con los campos IdPedido, FechaIni y FechaFin. En el formulario el cuadro de texto en el que metemos la fecha de llegada lo llamaremos txtFechaIni. En la acción de este cuadro de texto "Al perder el enfoque" ---> Procedimiento de Evento ---> escribes el siguiente código:
Me. Refresch
DoCmd.RunSql "Update TablaPedidos Set FechaFin=cDate('" & Form!txtFechaIni & "') Where FechaFin is null and FechaIni<>cDate('" & Form!txtFechaIni & "')"
Pruébalo y me cuentas.
Ante todo gracias Angeles por contestar con tanta celeridad.
Lo primero que voy a hacer es poner los ejemplos reales con sus verdaderos nombres ya que puse anteriormente es ficticio, ya que aun no tenia la base de datos en mis manos.
Tabla pedidos = "PARTE DE TRABAJO"
idpedido = "Nº TRABAJO"
fechaini = "HORA INICIO"
fechafin= "HORA FIN"
txtfechaini= "HORA FIN" (los campos se llaman igual)
El primer error que veo peor que al estar al base echa no puedo solucionar es los nombres con espacios y su repetición. Así que he tenido que enfrentarme a ello.
Tras esta aclaración te comento:
He realizado paso a paso lo que me diste la función que daba tal que así:
Private Sub HORA_INICIO_LostFocus()
Me.Refresh
DoCmd.RunSQL "Update [PARTE DE TRABAJO] Set [HORA FIN]=cDate('" & Form![HORA FIN] & "') Where [HORA FIN] is null and [HORA INICIO]<>cDate('" & Form![HORA INICIO] & "')"
End Sub
Tras esto el error que me salta es el "3464" ... No coinciden los tipos de datos en la expresión de criterios.
De nuevo gracias de antemano
Private Sub Hoha_Inicio_LostFocus()
Me.Refresh
DoCmd.RunSQL "Update [Parte de Trabajo] Set [Hora Fin]=Form![Hora Inicio].value Where [HORA FIN] is null and [HORA INICIO]<>Form![HORA INICIO].value"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas