Actualizar un campo del registro abierto

Quiero establecer el valor de un campo mediante una casilla de verificación, cuando abro el formulario cargo un registro nuevo, y tengo varias casillas de verificación de las cuales solo una puede estar activa, y según la casilla que sea, quiero que en el campo del registro ponga un valor u otro.

Mi duda viene al querer establecer este valor mediante vba. ¿Alguien puede ayudarme?

1 Respuesta

Respuesta
1

Carlos: No acabo de entender tu pregunta, pero si se trata de un sondeo del estado de una casilla de verificación, puedes usar el If ... ElseIf... EndIf

Ejemplo:

If Me.Chk01.Value = -1 Then
'Una Acción
ElseIf Me.Chk02.Value = -1 Then
'-----
Else
MsgBox "No hay Ningún Check Activado
End If

Un saludo >> Jacinto

Tengo un formulario para introducir registros nuevos en una tabla, en el que tengo varios cuadros de texto y cuadros combinados para introducir los datos del nuevo registro. Es decir el origen del control esta vinculado a un campo de la tabla.

A su vez, tengo 4 casillas de verificación en las que solo una puede estar activa, lo que quiero es que un campo de la tabla, tome un valor en función de la casilla que este activa, si esta la primera, que el campo de la tabla ponga 1, si esta la segunda, 2, por ejemplo.

Seria como hacer un update en una sentencia sql. Al cargar el formulario, tengo

DoCmd.GoToRecord , , acNewRec

Para crear un registro nuevo, pues quiero introducir en ese registro nuevo el valor de un campo, mediante código.

No se si ahora me he explicado mejor.

Carlos: Veamos si es así porque a veces sin tener delante los objetos, se hace dificil dar en la diana.

Vas a añadir un Nuevo registro, sea partiendo de la primera apertura del Formulrio, o sea en una operativa normal.

Tienes un "Grupo de Opciones" con 4 Check

Tienes un control del Formulario con Origen de datos en una Tabla o consulta.

Poniendo Nombres y tu los cambias: Grupo de Opciones >> GrpOpc01, TextBox del Campo que quieres adjudicarle el valor TxtDelCampoX.

Si eso es así has de programar dos Eventos y un Procedimiento para evitar repetir código.

Uno del Formulario >> Form_Current() y otro del Grupo de Opciones >> AfterUpdate

Para el Formulario:

Private Sub Form_Current()
If Me.NewRecord Then
    Call ActualizaElCampoX
End If
End Sub

Para el Grupo de Opciones:

Private Sub GrpOpc01_AfterUpdate()
Call ActualizaElCampoX
End Sub

El Procedimiento de Aztualizar.

Sub ActualizaElCampoX()
Select Case Me.GrpOpc01.Value
   Case 1
     Me.TxtDelCampox.Value = 1
   Case 2
     Me.TxtDelCampoX.Value = 2
   Case 3
      Me.TxtDelCampoX.Value = 3
   Case 4
      Me.TxtDelCampoX.Value = 4
   Case Else
      MsgBox "Algo grave pasa porque no hay Opción marcada",vbCritical, "ERROR"
End Select
End Sub

Si es que no he acabado de entenderlo, me comentas. Un saludo >> Jacinto

No es así exactamente, pero me has dado la idea, pongo los campos no visibles y los modifico por código mediante vba. Lo he probado y funciona, así que muchas gracias.

¡Gracias!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas