Meter el resultado de una sql en un combobox

Vamos a lo que me preocupa, quisiera saber lo siguiente:
Mi objetivo es crear un combobox, que en su listitem, me aparezca para seleccionar los distintos valores de una columna de una tabla access, la consulta sql seria la siguiente:
combolst = "SELECT DISTINCT Promocion FROM `Tabla promociones`"
Debase. OConn. Execute combolst
Debase es mi base de datos
Oconn es mi conexion
La pregunta seria como insertar el resultado de esta sentencia en el listitem del combolist, así me quedaría la aplicación mucho más elegante y no obligaría al usuario a recordar las diferentes "Promociones" existentes, creo que voy por buen camino, pero si conoces algún sistema más sencillo, explícamelo.
Otra cosa aprovechando la pregunta...
¿Dónde puedo encontrar algunos ejemplos o tutoriales del Crystal reports 8? Toy mu atascado con el y más adelante lo necesitare...
Respuesta
1
Acá vamos con la solución..
Idea: Acá la idea es utilizar un adodc, el cual se conectará a una tabla POR, luego ese adodc lo vinculas con el Datacombo para que se muestren los datos..
Primero: Cuando quieras listar en una herramienta desplegable (como lo es gráficamente el combobox), utilizando una columna de una tabla, NO debes utilizar un combobox, sino que un DATACOMBO, de la siguiente manera...
Insertas tu dataCombo.
Insertas en tu form un adodc y lo ocultas (Visible=False)
Y lo conectas con tu tabla..
Conectas tu datacombo con el adodc por medio de las propiedades:
Rowsource y Listfield (del datacombo)
Luego, por medio de programación, realizas la consulta a la tabla:
adodc1.recordsource="Select * from X"
Adodc1. Refresh
Eso es todo, como el datacombo ya estaba vinculado al adodc, la actualización de datos se realiza en forma automática.
Un abrazo desde Chile,
Master
Vas a pensar que soy un inútil... pero después de muchos intentos he sido incapaz de conectar el adodc a la base, o creo que es ese mi error.
Podrías hacerme el favor de desarrollar un poco el procedimiento, se que estoy haciendo algo mal y no doy con ello...
Me da fallos de error en la clausula FROM y también me dice que el motor de microsoft jet no puede encontrar la tabla o la consulta... por esto supongo que es que estoy conectando mal el adodc a la base.
Un saludo desde madrid y gracias
Jajajajaja, por favor !, nada que ver, si estoy para ayudarte, no te preocupes...
Veamos:
Deseo que en el datacombo aparezca el nombre de los clientes, ¿estos se encuentran en la tabla Clientes, campo, Nombre_clientes, te parece?
Insertaste tu adodc al formulario..
En el cuadro de propiedades del adodc, buscas la opción Recordsource y escribes al lado..
Select * from Clientes
Luego, insertas tu datacombo, ingresa a sus propiedades, y estableces en las opciones
Rowsource=adodc1
Listfield=Nombre_clientes
Ahora al cargar el formulario, vuelve a cargar el adodc con datos, es decir
adodc1.recordsource="Select * from Clientes"
Adodc1. Refresh
Debiera funcionarte, de lo contrario hay problemas con la conexión, si es así avisame y lo revisamos, me aprovechas de indicar la versión de Visual y de Access..
Seguro que tengo algo raro, por que lo que me has indicado es lo mismo que hice, bueno las cosas están como te cuento:
visual basic 6.0 con service pack 6 del visual
access 2000
mi base se llama "Promociones"
La tabla a la que quiero tener acceso se llama "Tabla promociones"
El SO es "WIN XP PRO" y creo que tengo descargadas todas las actualizaciones de microsoft
El error (literal) que me da es:
[Microsoft][Administrador de controladores ODBC]No se encuentra el nombre del origen de datos y no se especifico ningún controlador predeterminado.
Doy al botón de aceptar y sale el siguiente error de visual basic:
Error en el método'Refresh' del objeto 'IAdodc'
Termino la ejecución del programa y me vuelve a salir el primer fallo
acepto, y ya puedo modificar el programa, pero la verdad es que estoy muuuuy perdido, si se me paso por alto algún detalle importante o algo que necesites me lo dices.
Saludos
Todo lo que me has dicho es correcto, tocando por todos lados no he conseguido solucionar nada.
Pero he borrado el adodc y el databox, y los he vuelto a crear con las siguientes propiedades:
adodc
conectionstring = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\defini\Promociones.mdb;Persist Security Info=False
recordsource = SELECT distinct Promocion FROM `Tabla promociones`
databox
rowsource = adodc1
listfield = promocion
datasource = adodc1
No se porque ahora funciona pero lo hace y muy bien... tu respuesta fue muy buena desde el principio, no entiendo porque no funciono si estaba todo igual...
En fin una vez más, gracias colega, no se si algún día te podre preguntar algo que no sepas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas