Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

(Access+VBA)

Estas en el tema de (Access+VBA) en el foro de Bases de Datos General en Foros del Web. Hola muy buenas: LLevo unos dias peleandome con un tema,despues de haber visto todo tipo de documentacion en internet, sigo atascado os lo comento: En ...
  #1 (permalink)  
Antiguo 13/11/2008, 08:22
 
Fecha de Ingreso: noviembre-2008
Mensajes: 3
Antigüedad: 15 años, 5 meses
Puntos: 0
(Access+VBA)

Hola muy buenas:

LLevo unos dias peleandome con un tema,despues de haber visto todo tipo de documentacion en internet, sigo atascado os lo comento:

En la base de datos Access que estoy haciendo, entre otras muchas tengo 2 tablas:

Team (team_name, team_leader)
Employee (Employee_ID, Team)

Existe una relacion 1 a N entre estas 2 tablas, entre los atributos "team_name" de Team y "Team" de Employee, para relacionar a un empleado con el team al que pertenece (con integridad referencial)

A su vez tengo un formulario, donde dependiendo de un campo X (que ahora no viene al caso), en un subformulario asociado al principal me muestra diferentes datos, parte de esos datos tienen que:

- un combobox donde se pueda elegir entre los diferentes Teams existentes, y un segundo combobox, donde en funcion del Team que se haya elegido en el combobox 1, me mostrará SOLO los Employees que pertenezcan a ese tema.


en el combobox1 (el independiente) , en el evento AfterUpdate he puesto:

Me!Combo2.Requery

y en el combobox2 (el dependiente de combobox 1) en Row Source la siguiente Query:

SELECT EMPLOYEE.EMPLOYEE_NAME
FROM EMPLOYEE
WHERE (((EMPLOYEE.TEAM)=Me!Combobox1))
ORDER BY EMPLOYEE_NAME;


----------------
Es decir el combobox2 me filtra los contenidos de la tabla Employees que coincidan con el valor seleccionado en el Combo1. ¿parece correcto no?

Pues bien, cuando en ejecucion le doy a desplegar la pestaña del combobox2, me sale una ventana emergene diciendo:
"Please enter Me!Combobox1", es decir no esta cogiendo por si solo el valor marcado en el Combobox1.

Si en ese momento meto el nombre de un Team a mano, si aparecen los valores buenos en el combobox2, que significa esto?

Que el problema es que "Me!Combobox1" no es la sentencia correcta para decirle que me lea los valores de ese combobox, y ahi esta el problema, que no se que poner; al estar estos 2 comboboxes en un Subformulario he probado con cosas del tipo :

Forms!Nombre_Formulario_ppal!Nombre_Formulario_Sec undario.Form!.combobox1

!pero tampoco! alguna sugerencias?
muchisimas gracias
  #2 (permalink)  
Antiguo 13/11/2008, 09:03
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: (Access+VBA)

Prueba asi:

en el evento AfterUpdate del combo1:
Dim sSql As String
sSql = "EMPLOYEE_NAME FROM EMPLOYEE WHERE TEAM='" & Me!Combobox1 & "' ORDER BY EMPLOYEE_NAME;"
Me!Combo2.Requery

Si el campo TEAM es de tipo numerico, en lugar de texto, quieta lo rojo

Un saludo
  #3 (permalink)  
Antiguo 13/11/2008, 09:33
 
Fecha de Ingreso: noviembre-2008
Mensajes: 3
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: (Access+VBA)

Cita:
Iniciado por Taribo007 Ver Mensaje
Prueba asi:

en el evento AfterUpdate del combo1:
Dim sSql As String
sSql = "EMPLOYEE_NAME FROM EMPLOYEE WHERE TEAM='" & Me!Combobox1 & "' ORDER BY EMPLOYEE_NAME;"
Me!Combo2.Requery

Si el campo TEAM es de tipo numerico, en lugar de texto, quieta lo rojo

Un saludo
Una pregunta, ese sSql que tiene la query de la cual se alimenta el combobox2, tendre que pasarsela de algun modo al Combobox2 no?

muchas gracias por tu atencion
  #4 (permalink)  
Antiguo 13/11/2008, 09:39
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: (Access+VBA)

Huy si, se me ha paso la intruccion:

Dim sSql As String
sSql = "EMPLOYEE_NAME FROM EMPLOYEE WHERE TEAM='" & Me!Combobox1 & "' ORDER BY EMPLOYEE_NAME;"
me.combo2.rowsource=sSql
Me!Combo2.Requery

Un saludo
  #5 (permalink)  
Antiguo 13/11/2008, 09:48
 
Fecha de Ingreso: noviembre-2008
Mensajes: 3
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: (Access+VBA)

Perfecto!!, muchisimas gracias!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:08.