Registros con campos del registro anterior

Buenos días:

Quisiera que, en un formulario de entrada de datos, cuando se va a crear un nuevo registro, determinados campos tuviesen ya por defecto el valor del registro anterior.

Ejemplo: en el caso de una bd de actas de reunión, que la fecha del acta se repita con cada nuevo registro y sólo se cambie, deliberadamente, si se ha empezado una nueva acta.

Gracias,

2 respuestas

Respuesta
1

Puedes probar de esta forma:

En el evento "Al activar registro" de tu formulario, le pones este evento:

If Me.NewRecord Then Me.FechaPleno=DLast("FechaPleno","01-PLENOS")

De esta manera, si es un registro nuevo, te pone el valor del campo FechaPleno del último registro guardado en la tabla 01-PLENOS, y si ya es un registro rellenado, no te hace nada.

Si no te sirve, puedes cambiar el DLast por DMax, para que te ponga la fecha más alta.

Hola de nuevo, trascribo tal cual la sentencia que me indicas y me sale un cuadro de texto al abrir el formulario con el siguiente mensaje: "Abrir no puede encontrar la macro ´If Me´La macro (o su grupo de macros) no existe o la macro es nueva pero no se ha guardado. Observe que cuando introduce la sintaxis nombre_grupo_macro.nombre en un argumento, debe especificar el nombre con el que se guardó por última vez el grupo de macros de la macro".

Tengo Access 2003, no sé si por ahí hay alguna pista...

He intentado crear una macro con esa sentencia pero no encuentro el comando que pueda asociar (nuevo registro o similar).

Me parece que sé por donde va el problema:

En la ventana de propiedades del formulario, en la pestaña datos, en el evnto Al activar registro, no le tienes que poner esa sentencia, sino que le tienes que dar al botón de los 3 puntos, elegir generador de código y ahí le escribes eso, de tal modo que te quede así:

Private Sub Form_Current()

If Me.NewRecord Then Me.FechaPleno=DLast("FechaPleno","01-PLENOS")

End Sub

Disculpa si antes no me expliqué bien... XD

Perfecto, ahora funciona perfecto, de hecho he incluido algún campo más simplemente añadiendo otro "If Me.NewRecord Then Me.CAMPO = DLast("CAMPO", "01-PLENOS")", y también funciona.

Muchas gracias,

Respuesta

Estoy diseñando una DB, estoy intentado hacer los mismo que en el ejemplo anterior, ya que necesito que cuando se genere un nuevo registro me coloque los datos del registro anterior, ya que son datos que apenas se modifican. Mi campo es numérico no es de fecha, por lo que entiendo que seguramente el Dlast no sea el correcto.If Me. NewRecord Then Me.Cartuchos2euros = DLast("Cartuchos2euros", "CambioMonedasGeneral"). No entiendo mucho de código por no decir nada. Me da error : No se encontró el método o el dato miembro. Esto es lo único que me falta para terminarla. A ver si me podéis ayudar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas