Access - Cómo pasar el valor de un campo a otro

 
Vista:

Cómo pasar el valor de un campo a otro

Publicado por tito (5 intervenciones) el 30/03/2005 00:48:15
Hola, chicos. Tengo la siguiente duda: ¿Cómo hacer que el valor de un campo determinado en un registro sea el que tome por defecto en otro campo distinto de otro registro (el siguiente, por ejemplo)?
Es decir, por ejemplo, si yo tengo un valor numérico en el campo "nº de discos totales", por ejemplo, 20, y si en el registro siguiente meto otros 5 discos, que en el campo "nº de discos anteriores" figure "20" y en el "nº de discos totales" figure ahora "25".
Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Actualizar campo 'nº de discos anteriores' con el valor del registro anterior

Publicado por Alejandro (4142 intervenciones) el 30/05/2023 17:34:07
Puedes lograr esto utilizando un evento VBA en el formulario de Access. Sigue estos pasos:

1. Abre el formulario en el modo de diseño.
2. Selecciona el campo "nº de discos totales" y abre la ventana de propiedades (puedes presionar F4).
3. Ve a la pestaña "Eventos" en la ventana de propiedades.
4. Busca el evento "Después de actualizar" y haz clic en el botón de los tres puntos para abrir el editor de código.
5. En el editor de código, escribe el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub txtNumeroDiscosTotales_AfterUpdate()
    Dim rs As DAO.Recordset
 
    ' Obtener el registro anterior
    Set rs = Me.RecordsetClone
    rs.Bookmark = Me.Bookmark
    rs.MovePrevious
 
    ' Verificar si hay un registro anterior
    If Not rs.BOF Then
        ' Actualizar el campo "nº de discos anteriores" con el valor del campo "nº de discos totales" del registro anterior
        Me.txtNumeroDiscosAnteriores.Value = rs!txtNumeroDiscosTotales.Value
    End If
 
    rs.Close
    Set rs = Nothing
End Sub

Asegúrate de reemplazar "txtNumeroDiscosTotales" y "txtNumeroDiscosAnteriores" con los nombres reales de los campos en tu formulario.

6. Guarda y cierra el editor de código.
7. Guarda los cambios en el formulario.

Ahora, cuando ingreses un nuevo valor en el campo "nº de discos totales", el campo "nº de discos anteriores" se actualizará automáticamente con el valor del campo "nº de discos totales" del registro anterior.

Ten en cuenta que esta solución asume que estás utilizando un formulario basado en una tabla o consulta, y que los campos "nº de discos totales" y "nº de discos anteriores" son campos numéricos en tu tabla o consulta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar