Problemas con un cuadro combinado

Muy buenas, estoy haciendo una base de datos para una pequeña biblioteca a la que tienen acceso una veintena de personas. Cada ejemplar es único, y cada persona tiene su IdUsuario. Quiero conocer en todo momento si un libro esta disponible o no, y si no lo esta saber quien lo ha cogido.
He hecho un formulario que sirve tanto para meter libros nuevos como para coger prestado los libros. Y es aquí donde viene mi duda:
En el formulario he incluido un Grupo de Opciones con dos opciones: Ocupado y NoOcupado. Cuando se marca NoOcupado todo va bien, pero estoy intentando que al marcar Ocupado se haga disponible un Cuadro Combinado donde se desplieguen los nombre de todas las personas con acceso a los libros. Bien, este cuadro se hace disponible y selecciono uno de los nombres, pero al ir al registro del siguiente libro, seleccionar un nombre distinto al anterior y volver al primer registro también se ha cambiado, y al final me encuentro que en todos los registros donde he puesto Ocupado se cambia y aparece la misma persona.
¿Cómo puedo hacer que al seleccionar en el cuadro uno de los nombres este se quede ahí fijo, independiente del resto de registros?
Estos nombres se cogen de la tabla Usuarios del campo Apellidos y cuando veo el Cuadro Combinado del formulario en formato diseño pone "independiente" dentro y entonces si que ya no se por donde van los tiros. Un saludo.

1 respuesta

Respuesta
1
Bien, la forma en que yo lo haría (como le digo a todo el mundo, no es la definitiva, sino la que en mi opinión es mejor o me gusta más) es la siguiente:
Abres el formulario en modo diseño y, asegurándote de que es el formulario el objeto seleccionado y no un campo de texto o cuadro combinado, muestra la ventana de propiedades y ve a la pestaña de Eventos. Allí elige el evento "Al activar registro", y haces click en el botoncito de creación de evento (el que tiene los tres puntitos); te aparecerá un ventana. Elige la opción "Generador de código" y verás la ventana de Visual basic. En el procedimiento que se te crea puedes poner un código que se ejecutará cada vez que un registro se haga activo (o sea, al abrir el formulario por primera vez y cada vez que cambies de un registro a otro). Dicho código podrías ser algo así:
Private Sub Form_Current()
If botonOpcion.Value=1 Then <-- he puesto 1 pero lo igualas al valor de ocupado que tengas
comboNombres.Enabled = True
Else
comboNombres.Enabled = False
End If
End Sub
Este código ya debería ser bastante. Tienes que adaptar los nombres de objeto que yo he puesto a los que tu tengas (no siempre coincide con el campo de la base de datos con el que están relacionado). Si no sabes como se llama cada objeto puedes verlo en la ventana de propiedades: seleccionas el objeto en cuestión, y en la pestaña Otras verás una opción que se llama Nombre. Lo que ponga ahí es lo que tienes que usar para referirte a dicho objeto.
Espero que este te ayude. Sino dime que te ha ido mal, y miraré de solucionarlo.
CArLeS!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas