Tengo un ComboBox que carga una lista de países, cada vez que selecciono un elemento y luego me enfoco en otro objeto del formulario, se restablece a 0. Este ComboBox está vinculado con un valor entero en la tabla principal (almacena el índice, no el cadena del país).
¿Qué diablos estoy haciendo mal?
Respuesta1
Si le entiendo correctamente, desea un ComboBox que muestre una lista de nombres de países y almacene algún tipo de código de país. Puede utilizar un ComboBox para mostrar y almacenaracampo, pero no para mostrar un campo y almacenar otro. A diferencia del control ListBox, ComboBox no tiene una Bound Field
propiedad, por lo que se requiere utilizar dos campos. La Bound Field
propiedad determina qué campo se almacena en su tabla de destino.
Necesita utilizar un control ListBox para obtener esta funcionalidad. El control ListBox debería proporcionarle un asistente. Primero seleccione la tabla de la que desea mostrar los datos.
Luego seleccione el campo que desea mostrar.
Por último, seleccione el campo en el que desea almacenar el valor (lista del lado izquierdo) y el campo del que desea obtener el valor (lista del lado derecho).NOTA: En este ejemplo, solo estoy usando una tabla. Entonces tengo las mismas opciones tanto en la lista del lado izquierdo como en la del lado derecho. Normalmente, extraería estos datos de otra tabla para mostrarlos y almacenarlos en la actual, generalmente como algún tipo de relación de clave externa.
Luego necesitamos hacer que el ListBox actúe como un ComboBox, es decir, hacer que el ListBox tenga un menú desplegable. Haga clic derecho en ListBox y vaya a Control
. Establezca la DropDown
propiedad en Yes
. Configure la LineCount
cantidad de elementos que desee que se muestren sin necesidad de desplazarse (a mí, personalmente, me gustan 5). Por último, configure Height
algo más parecido a lo que sería un campo de Texto.
Referencia: http://user.services.openoffice.org/en/forum/viewtopic.php?p=164740#p164740