Access - repetir campos en formulario

 
Vista:

repetir campos en formulario

Publicado por joaq (1 intervención) el 24/06/2005 13:34:14
hola a todos los miembros del foro:
Tengo un formulario con varios campos de texto, necesito añadir registros mediante el formulario pero necesito que varios de los campos mantengan el primer valor introducido hasta que salga del formulario, de manera que al añadir registros solo añada el campo que se mantenga en blanco de todos los campos del formulario. Espero haber sido claro, un saludo para todos.
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

Mantener valores en campos de formulario al añadir registros

Publicado por Alejandro (4142 intervenciones) el 06/06/2023 16:08:41
Si deseas mantener los valores introducidos en algunos campos de texto de tu formulario cuando añades nuevos registros, puedes utilizar variables globales en VBA para almacenar esos valores y luego asignarlos nuevamente a los campos al añadir un nuevo registro. Aquí tienes una solución general que puedes adaptar a tus necesidades:

1. Abre el formulario en modo de diseño.
2. Abre el editor de VBA presionando Alt + F11.
3. En el editor de VBA, ve al menú "Insertar" y elige "Módulo" para insertar un nuevo módulo.
4. En el módulo, declara variables globales para los campos de texto que deseas mantener. Por ejemplo, si tienes un campo llamado "Campo1" y quieres mantener su valor, puedes declarar una variable global para él de la siguiente manera:

1
Public Campo1Valor As Variant

5. A continuación, ve al formulario y abre el evento "Al abrir" del formulario en el editor de VBA.
6. Dentro del evento "Al abrir", asigna el valor actual del campo de texto a la variable global correspondiente. Por ejemplo:

1
2
3
Private Sub Form_Load()
    Campo1Valor = Me.Campo1.Value
End Sub

7. Ahora ve al evento "Antes de insertar" del formulario en el editor de VBA.
8. Dentro del evento "Antes de insertar", asigna el valor de la variable global nuevamente al campo de texto correspondiente si el campo está en blanco. Por ejemplo:

1
2
3
4
5
Private Sub Form_BeforeInsert(Cancel As Integer)
    If IsNull(Me.Campo1.Value) Or Me.Campo1.Value = "" Then
        Me.Campo1.Value = Campo1Valor
    End If
End Sub

Con este código, cuando añadas un nuevo registro desde el formulario, los campos de texto que deseas mantener se llenarán automáticamente con el valor almacenado en la variable global, a menos que ya tengan un valor introducido.

Recuerda adaptar el código a tus nombres de campo y necesidades específicas.

Espero que esta solución te sea útil. ¡Buena suerte con tu formulario en Access!
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