Búsqueda en formularios con cuadros combinados

Resulta que tengo un formulario continuo en MS Access 2007 en el que mediante un cuadro combinado extraigo datos de otra tabla relacionada. El inconveniente está en que cuando creo un nuevo registro desaparecen los datos del registro anterior en el cuadro combinado extraído.

El comando que uso para el cuadro combinado 1 es: SELECT TB_Empresas.Id_Empresa, TB_Empresas.NombreEmpresa FROM TB_Empresas ORDER BY TB_Empresas. NombreEmpresa; y en el evento al cambiar:

Private Sub Id_Empresa_Change()

  Id_Bodega.Requery 

End Sub

Y en cuadro combinado 2 deben aparecer el nombre de las bodegas  de cada empresa:

SELECT TB_Bodegas.Id_Bodega, TB_Bodegas.NombreAsigado, TB_Bodegas.Id_Empresa

FROM TB_Bodegas

WHERE (((TB_Bodegas.Id_Empresa)=[Formularios]![F_Articulos]![Id_Empresa]));

¿Cómo hago para que los datos se mantengan en el formulario cada vez que creo un nuevo registro?

1

1 respuesta

Respuesta
2

Eso es porque el combinado no tiene origen de control o le estás dando el valor de una columna que no se muestra.

Por otro lado, honestamente no entiendo la instrucción. Si lo que quieres es que después de "elegir" algo en un combinado te sirva como "filtro" para el segundo, en el evento después de actualizar del primer combinado puedes poner, algo así como

combo2.rowsource="select lo que sea from tabla where campoX='" & me.combo1 & "'"

Por ejemplo, vamos a suponer que tengo un combinado ElegirPais donde aparecen diversos paises y quiero que en el combinado ElegirCliente me aparezcan sólo los clientes de ese pais. En el evento después de actualizar de Elegir pais pon

elegircliente.rowsource="select Cliente from clientes where pais='" & elegirpais & "'"

O tambien poniendo en el origen de la fila del 2º combinado, con el generador, en la casilla de criterio debajo de pais

Forms! Nombredelform! Elegirpais

O, de otra forma, poniendo en el evento Al recibir el enfoque del combinado ElegirCliente lo de

elegircliente.rowsource="select Cliente from clientes where pais='" & elegirpais & "'"

¡Gracias! 

Gracias por el código, pero lo que sucede es que tengo un formulario continuo y cuando genero un nuevo registro los datos del cuadro combinado 2 no se mantiene en el respectivo cuadro combinado. Por ejemplo si tengo las empresas A, B, C con los empleados de la empresa A: X1,X2,X3 y de la empresa B con los empledos Z1, Z2 ,Z3 al seleccionar la empresa A selecciono el empleado X2; pero al cambiar a un nuevo registro me borra del formulario el dato del cuadro combinado. Como hago para que se mantengan los datos en el formulario y especificamente el el cuadro combinado en este caso de empleados (cuadro combinado 2)?  

Como te decía, eso es porque el cuadro combinado, lo haces depender, de una columna que no se muestra. Por ejemplo, vamos a suponer, que en el combinado tienes como origen de la fila, Idempleado y Empleado. Para que no se vea el idempleado, tienes puesto que muestre 2 columnas, pero que el ancho sea 0 y 3 cm. Cuando le des algún valor, en otro registro, en el anterior, como te está guardando el Id, pero este tiene una anchura de 0 cm, te aparece en blanco.

No sé si me he explicado, por lo que si quieres, repito, si quieres, mándame un mensaje a [email protected] (sólo el mensaje) y te mando un ejemplo. Si lo haces, en el asunto del mensaje pon tu alias Charles62, ya que si no sé quien me escribe ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas