Visual Basic - COMBOBOX

Life is soft - evento anual de software empresarial
 
Vista:

COMBOBOX

Publicado por JULIO (12 intervenciones) el 12/03/2001 21:36:42
EN UN COMBOBOX QUIERO QUE AL DAR UN \"CLICK\" APAREZCAN LOS DATOS DE 1 TABLA EN OTRO COMBOBOX O LISTBOX PERO QUE SEA CONDICIONADA EJEMPLO: LA TABLA TIENE 2 CAMPOS EMPRESA Y EMPLEADO, AL DAR LE CLICK AL COMBOBOX APARECEN LAS EMPRESAS Y EN OTRO COMBOBOX O LISTBOX QUE ME APAREZCAN LOS EMPLEADOS DE LA EMPRESA QUE SE SELECCIONA EN EL COMBO1. SALUDOS Y GRACIAS DE ANTEMANO
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE: COMBOBOX

Publicado por PonchoWare (88 intervenciones) el 12/03/2001 23:48:21
Suponiendo dos tablas con los siguientes campo

TABLA: Empresa - CAMPOS: idEmpresa, nombreEmpresa, ...
TABLA: Empleados - CAMPOS: idEmpleado, empresa, nombreEmpleado, ...

En el formulario deben haber dos comobox:
- cboxEmpresas
- cboxEmpleados

En las declaraciones del formulario poner:

Dim dbBaseDeDatos as Database

Hacer un procedimiento:

Private Sub cargarEmpresas()
Dim rsEmpresas as Recordset

set rsEmpresas=dbBaseDeDatos.OpenRecorset("Empresas", dbOpenSnapShot)

cboxEmpresas.Clear
while not rsEmpresas.EOF
cboxEmpresas.AddItem rsEmpresas!nombreEmpresa
cboxEmpresas.MoveNext
wend

cboxEmpresas.Close
end

Hcer otro procedimiento:

Private sub cargarEmpleados(nombreEmpresa as string)
Dim rsEmpleados as Recordset
Dim SQL as string

SQL="SELECT nombreEmpleado FROM Empresas, Empleados WHERE idEmpresa=empresa AND nombreEmpresa='" & nombreEmpresa & "'"

set rsEmpleados=bdBaseDeDatos.OpenRecorset(SQL, dbOpenSnapShot)

cboxEmpleados.Clear
while not rsEmpleados.EOF
cboxEmpleados.AddItem rsEmpleados!nombreEmpleado
cboxEmpleados.MoveNext
wend
cboxEmpleados.Close
wend

En el evento Form_Load poner:

set dbBaseDeDatos=OpenDatabase("NombreDeLaBD")

cargarEmpresas

En el evento cboxEmpresas_Click poner:

cargarEmpleados cboxEmpresas.Text

Y eso es todo. Es posible que tenga agunos errores porque no tenia el VB a la mano.

NOTA: El proyecto debe tener en Referencias las librerias Microsoft DAO.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE: COMBOBOX

Publicado por Banner (54 intervenciones) el 13/03/2001 06:07:16
lo que tienes que hacer es darle un sql al datacontrol de donde sacas los datos de empleados, segun su empresa ejemplo:
data1.recorsourse="SELECT * FROM EMPLEADOS WHERE EMPRESA=" & "'" DATACOMBO1.TEXT & "'"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE: COMBOBOX

Publicado por Banner (54 intervenciones) el 13/03/2001 06:07:38
lo que tienes que hacer es darle un sql al datacontrol de donde sacas los datos de empleados, segun su empresa ejemplo:
data1.recorsourse="SELECT * FROM EMPLEADOS WHERE EMPRESA=" & "'" DATACOMBO1.TEXT & "'" AL DAR CLICK EN EL COMBO DE EMPRESA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar