Tengo un control ComboBox1 en el que selecciono un cliente (empresa) y otro ComboBox2 en el que debo seleccionar un nombre de contacto correspondiente dicha empresa seleccionada en ComboBox1. Lógicamente necesito capturar cuando estoy manejando combobox2 para poder hacer la correspondiente búsqueda en la base de datos y representar los elementos filtrados en dicho combobox.
Para ello me vendría bien poder captar el momento en que despliego el combobox2, pero no se que evento es este. En la ayuda de gambas veo que combobox tiene estos eventos:
Activate
Change
Click
DblClick
Drag
DragMove
Drop
Enter
GotFocus
KeyPress
KeyRelease
Leave
LostFocus
Menu
MouseDown
MouseDrag
MouseMove
MouseUp
MouseWheel
¿alguno de ellos corresponde a desplegar el combobox?. Hasta ahora lo estoy resolviendo con un DblClick pero me parece una chapuza.
Gracias de antemano.
Eventos En ComboBox
Objetivo: Re: Eventos En ComboBox
Hola
Pongamos que tu quieres que al entrar en un formulario, se rellene un combo con todos tus clientes. Para ello miras en tu tabla de clientes y haces esto al cargar el form
Ahora queremos hacer que al elegir un cliente se llene un combo2 con los diversos datos de contacto de ese cliente
Ya para dejar este tema, alguna vez te puedes encontrar con la situación de que quieras extraer por ejemplo los clientes de tu tabla de facturas. El problema es que allí el mismo cliente puede estar repetido varias veces. En esos casos utilizas la claúsula distinct para evitar que el mismo nombre aparezca varias veces en el combo.
Un saludo
Pongamos que tu quieres que al entrar en un formulario, se rellene un combo con todos tus clientes. Para ello miras en tu tabla de clientes y haces esto al cargar el form
sub form_open
Dim Cn as new connection, Rs as Result
Cn=Conectar() 'aquí llamas a una rutina que asegura que tras ello tienes la conexión establecida
Rs=Cn.exec("select nombre from clientes order by nombre") 'creas un recordset con los nombres que quieres
Do while Rs.available 'aquí llenas el combo
combo1.add(Rs!nombre)
Rs.movenext
loop
end
Dim Cn as new connection, Rs as Result
Cn=Conectar() 'aquí llamas a una rutina que asegura que tras ello tienes la conexión establecida
Rs=Cn.exec("select nombre from clientes order by nombre") 'creas un recordset con los nombres que quieres
Do while Rs.available 'aquí llenas el combo
combo1.add(Rs!nombre)
Rs.movenext
loop
end
Ahora queremos hacer que al elegir un cliente se llene un combo2 con los diversos datos de contacto de ese cliente
sub Combo1_Click 'al elegir un cliente
Dim Cn as new connection, Rs as Result
Cn=Conectar() 'aquí llamas a una rutina que asegura que tras ello tienes la conexión establecida
Rs=Cn.exec("select contacto from clientes where nombre='" & combo1.text & "' order by contacto") 'creas un recordset con los contactos de ese cliente
Do while Rs.available 'aquí llenas el combo
combo2.add(Rs!nombre)
Rs.movenext
loop
end
Dim Cn as new connection, Rs as Result
Cn=Conectar() 'aquí llamas a una rutina que asegura que tras ello tienes la conexión establecida
Rs=Cn.exec("select contacto from clientes where nombre='" & combo1.text & "' order by contacto") 'creas un recordset con los contactos de ese cliente
Do while Rs.available 'aquí llenas el combo
combo2.add(Rs!nombre)
Rs.movenext
loop
end
Ya para dejar este tema, alguna vez te puedes encontrar con la situación de que quieras extraer por ejemplo los clientes de tu tabla de facturas. El problema es que allí el mismo cliente puede estar repetido varias veces. En esos casos utilizas la claúsula distinct para evitar que el mismo nombre aparezca varias veces en el combo.
Rs=Cn.exec("select DISTINCT nombre from clientes order by nombre") 'creas un recordset con los nombres que quieres
Un saludo
Objetivo: Re: Eventos En ComboBox
Si señor, muchísimas gracias.
A veces tenemos la solución delante y no somos capaces de verla. Un millón de gracias.
A veces tenemos la solución delante y no somos capaces de verla. Un millón de gracias.
Página 1 de 1
No puede crear mensajesNo puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario
Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Página generada en:: 0.4296s (PHP: -78% SQL: 178%)
Consultas SQL: 44 - Debug off - GZIP Activado