Access - Necesario..

 
Vista:

Necesario..

Publicado por Gerardo (12 intervenciones) el 09/11/2004 17:45:45
Hola, de ante mano agradezco su ayuda...

Mi problema es el siguiente, necesito el codigo en VB para asignar un valor constante a una tabla en access, dependiendo de la respuesta dada en una inputbox. ejemplo... hago la pregunta y dependiendo de la respuesta es el valor que se le da a dicha respuesta.. como los test de cosmopolitan y esas cosas, entonces ese valor dado a la respuesta es el que necesito guardar en la tabla para despues sacar la suma total de las respuestas, esto claro para cada uno de los registros... ah otra cosa, esta tabla (la voy a llamar respuestas), esta relacionada con otra tabla que se llama, digamos (empleados)... necesito saber como se hace o como debe ser.. lo que pasa es que no tengo mucha experiencia en VB entonces se me esta dificultando mucho...

Les agradezco su atencion, hasta pronto...
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

Asignar un valor constante a una tabla en Access según la respuesta de una InputBox

Publicado por Alejandro (4142 intervenciones) el 16/05/2023 18:59:26
Para asignar un valor constante a una tabla en Access según la respuesta dada en una InputBox, puedes utilizar código VBA en un evento o procedimiento. A continuación te muestro un ejemplo de cómo hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Sub AsignarValor()
    Dim respuesta As String
    Dim valorAsignado As Integer
 
    respuesta = InputBox("Ingrese la respuesta:", "Respuesta")
 
    ' Aquí puedes definir la lógica para asignar el valor según la respuesta.
    ' Por ejemplo, si la respuesta es "Sí", asignar valor 1. Si es "No", asignar valor 0.
    Select Case respuesta
        Case "Sí"
            valorAsignado = 1
        Case "No"
            valorAsignado = 0
        Case Else
            valorAsignado = -1 ' Valor predeterminado si la respuesta no coincide con ninguno de los casos anteriores.
    End Select
 
    ' A continuación, puedes guardar el valor asignado en la tabla "Respuestas" relacionada con la tabla "Empleados".
    ' Suponiendo que tienes una relación establecida entre las tablas, y que "ID_Empleado" es el campo de relación entre ellas.
    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("Respuestas")
 
    ' Asegúrate de tener la referencia a la biblioteca "Microsoft DAO" en tu proyecto VBA (Herramientas -> Referencias).
 
    rs.AddNew
    rs!ID_Empleado = Forms("TuFormulario").ID_Empleado.Value ' ID_Empleado es el nombre del control en el formulario donde tienes el ID del empleado seleccionado.
    rs!Valor = valorAsignado
    rs.Update
 
    rs.Close
    Set rs = Nothing
 
    MsgBox "Valor asignado correctamente.", vbInformation
End Sub

En este ejemplo, se utiliza la función `InputBox` para solicitar al usuario que ingrese una respuesta. Luego, se utiliza una estructura `Select Case` para asignar un valor constante según la respuesta ingresada. Puedes definir tus propias reglas de asignación de valores en esta sección.

Después, se guarda el valor asignado en la tabla "Respuestas" relacionada con la tabla "Empleados". Asegúrate de ajustar los nombres de las tablas y los campos según tu estructura de base de datos. El código supone que tienes una relación establecida entre las tablas y que puedes acceder al ID del empleado desde un formulario.

Recuerda que este es solo un ejemplo básico y que necesitarás adaptar el código según tus necesidades y estructura de base de datos específicas.

Espero que esta solución te sea útil.
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