Actualización campos subformulario desde un formulario

Dispongo de un formulario en el cual esta la Cabecera, y como subformulario, las líneas de ventas.

En la cabecera existe un campo que se llama FechaEntrega y esta fecha ha de pasar por defecto a cada una de las líneas de ventas. En el caso de interesar, manualmente es variada la fecha de la entrega de alguna línea especifica ya que la entrega es diferente.

Estoy utilizado en el Valor predeterminado que recoja la fecha dada en la cabecera de la venta, pero en la primera línea no me aparece la fecha que ha de recoger, esta me aparece en la línea 2º o 3º y no desde la primera línea insertada

Utilizo esta instrucción en las líneas, en el campo [FechaReparto]

Valor Predeterminado=[Formularios]![CabeceraVentas]![FechaEntrega]

2 respuestas

Respuesta
1

Antes de nada, personalmente odio los valores predeterminados. En las propiedades del subformulario, en eventos-Al activar registro crea un procedimiento de evento y entre Private Sub y End sub escribe

If isnull([fechareparto]) then

fechareparto=forms!cabeceraventas!fechaentrega

end if

Así cuando abras el formulario, el registro activo del subformulario será el primero y te pondrá el valor de fechaentrega. Si pasas al siguiente registro lo mismo.

Si no le pusieras la instrucción y a uno de ellos le cambiaras la fecha, al volver a ese registro te volvería a poner la fecha de entrega del forulario. Por eso lo del If. Como ya tiene valor no te lo modifica.

Respuesta
1

Yo lo haría mediante código: en el evento "al activar registro" de tu subformulario le generaría este código:

If IsNull(Me.FechaReparto) Then Me.FechaReparto=Me.Parent.FechaEntrega

Otra opción será poner el mismo código en el evento "al entrar" o "al recibir el enfoque" del campo FechaReparto.

Un saludo.


Un nuevo foro de access, visítanos: http://nksvaccessolutions.com/Foro/ 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas