Sincronizar dos cuadros combinados y otros campos

Haber si me puedes ayudar.
TEngo un formulario en el que quiero que aparezcan dos cuadros combinados y que al elegir uno se me limite el número de campos del segundo y que cuando elija una de las opciones del segundo cuadro combinado aparezcan los valores del resto de campos.
No se si me he explicado bien, te pongo un ejemplo.
Cuadro combinado1: Empresa
Cuadro combinado 2: Código de Articulo
Campo1:Descripción de articulo
Campo2:Precio
Después de elegir una empresa, cuando pincho en el segundo cuadro combinado que solo me salgan los artículos asociados a esa empresa. Y después de seleccionar el articulo aparezcan los campos 1 y 2 de ese articulo.

1 respuesta

Respuesta
1
Tienes que hacer lo siguiente:
Crea los dos cuadros combinados (uno el de empresa y otro el de artículos) y en el código del que contiene los artículos, en el evento al cambiar escribes el siguiente código
cc2. RowSource = "SELECT articulo.descripcion, articulo.codigo FROM articulo WHERE (((articulo.codigo_empresa)=Formularios!nombredelformulario!cc1))"
Donde la tabla articulo tiene los campos código, descripción y codigo_empresa como mínimo.
Veras como funciona
Para mostrar el resto de datos (precio), añade al select anterior el campo articulo. Precio y después, en el mismo código pon la siguiente linea
Texto1 = Formularios!nombredelformulario!cc1.Column(2)
Siempre suponemos que el cc tiene tres columnas y el precio va en la tercera (el orden de columnas es 0,1,2, etc)
Hola de nuevo
Pues no se lo que hago mal pero no me sale, me da un error. Esto es lo que yo he echo. No se si me podrás ayudar.
cc2.RowSource="SELECT Articulos.[COdigo de articulo], Articulos.[Nombre de empresa], Articulos.[Precio/unidad], Articulos.[Observaciones] FROM Articulos WHERE (([Articulos].[Nombre de empresa])=Formularios!Articulos01!cc1) (Texto6=Formularios!Articulos01!cc1.Column(2)) (Texto9 = Formularios!Articulos01!cc1.Column(3)))";
Por otro lado cuando aparecen en el cuadro combinado las empresas sale el mismo nombre varias veces, es decir el mismo numero de veces que sale en la tabla, ¿eso se podría cambiar para que solo saldría una vez?
Gracias.
Para que salga solo una pon en el select DISTINC(CAMPO QUE SE DUPLICA)
Para lo otro, dime que error te sale (si puede ser un print de pantalla) y lo vemos
file:///C:/DOCUME~1/AiTziBeR/CONFIG~1/Temp/moz-screenshot.jpgNo puedo poner una imagen o por lo meno nose hacerlo, asi que te lo pongo.
"El origen del registro 'cc2.row...' indicado de este formulario no existe.
Puede que el nombre este mal escrito, se eliminara o se cambiara de nombre en la base de datos actual, o que se encuentre en una base de datos diferente.
Vaya a la hoja de propiedades en la vista de diseño del formulario informe, haciendo clic en el botón Propiedades y establezca la propiedad RecordSource en una tabla o consulta existente."
Eso es lo que me sale y lo que me pone de recordsource no se donde es.
Muchas gracias por la ayuda.
Tienes un error en el select, revísalo, seguro que falla un paréntesis o comillas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas