Eventos En ComboBox


Objetivo: Eventos En ComboBox
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.

Perfil MP  
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

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


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


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

Perfil MP  
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.

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No 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.1113s (PHP: -21% SQL: 121%)
Consultas SQL: 23 - Debug off - GZIP Activado