Grupo de Opciones: Cambiar nºs por palabras
Tengo un pequeño problema que no he podido resolver en Access. La cosa es que he creado un Grupo de Opciones en un formulario, con botones de opción, para alternar entre 3 profesiones: carpintero, herrero y alfarero. Hasta ahí, todo bien, porque prácticamente te lo hace el asistente. El problema está en que, en la tabla donde se guardan los datos, en vez de guardarme valores con esas mismas palabras, me los guarda como valores numéricos, es decir, el carpintero con un 1, el herrero con un 2 y el alfarero con un 3. Quisiera saber si hay forma, en otra columna de la misma tabla o en la misma, si se puede hacer que reemplace los valores numéricos (1, 2 ó 3) por sus palabras de profesiones correspondientes. O que me permita meter en la columna de resultados otros valores que no sean números. Supongo que se podrá hacer, pero por más que he buscado, no he encontrado el código, y yo de Visual Basic estoy muy pez. Muchas gracias por vuestra ayuda! Pablo
Respuesta experto gajimenb
Según acabo de leer en la ayuda de Access, cada control de un grupo de opciones solo puede ser numérico, ¿puedes crear los controles fuera de un grupo de opciones pero eso no es lo que queremos cierto?
Para estas pequeñas "dificultades" esta Visual. Lo que tendrías que hacer es lo siguiente:
En primer lugar desvincula el cuadro de opciones del campo donde quieres almacenar los datos. Esto lo haces seleccionando el grupo, activando la ventana de propiedades (Menú "ver", "Propiedades") y en la ficha llamada "Datos" borras lo que exista en "origen del control".
Luego en la misma ventana entras a la ficha "eventos" y escoges "Después de actualizar", al final aparecen ... Los oprimes y escoges "Generador de código" allí te aparece más o menos lo siguiente:
Private Sub Marco14_AfterUpdate()
End Sub
Por supuesto en vez de "Marco14" aparecerá el nombre que tenga tu grupo de opciones, completa lo anterior para que quede así:
Private Sub Marco14_AfterUpdate()
Dim Valor
Select Case Me.Marco14
Case 1
Valor = "Carpintero"
Case 2
Valor = "Herrero"
Case 3
Valor = "Alfarero"
End Select
Me.Profesion = Valor
End Sub
Te explico rápidamente lo que hace este pequeño procedimiento: el evento AfterUpdate (después de actualizar) ocurre cuando access ya guardo los datos ingresados (en este caso seleccionar una de las opciones) en ese momento se inicia el proceso anterior, lo primero que se hace es declarar (dim) una variable que almacenará un valor (la profesión) dependiendo de la opción escogida en el grupo, eso corresponde a:
Select Case Me.Marco14
Case 1
Valor = "Carpintero"
Case 2
Valor = "Herrero"
Case 3
Valor = "Alfarero"
End Select
Que se traduciría como seleccione lo que se escogió en el grupo de opciones y dependiendo de eso meta un dato en la variable valor. Luego se mete el valor en el control del formulario "Profesion" (Me. Profesión) que es donde se supone que se quieren guardar los datos.
Todo lo anterior implica:
Primero que el campo donde quieres guardar los datos debe estar en el formulario (así sea invisible para el usuario) y segundo que debes cambiar profesión por el nombre de ese control en el formulario.
Pregunta de novato
Torpe y novato en access, quisiera que me explicases todo este proceso ya que no lo entiendo, como desvincular el cuadro de opciones, y el resto, no soy capaz. Soy novato y de access se lo justito, crear tablas y poco mas. Gracias y un saludo
Perdonar es una repetición esta pregunta, pero no se sacarlo si podéis ayudarme.