Buenos días.
Estoy creando una app en la que hay productos que tienen varios precios de compra según el proveedor.
Básicamente tengo las tablas:
-Categorías
-Subcategorias (con campo IdCat con relación a Categorías)
-Proveedores
-ProvYCat (con campos IdProveedor IdCat en la que asigno categorías varias a cada proveedor)
-Productos (con campo IdSubCat para relación a Subcategorías)
-ProductosXProveedor (con campos IdProveedor IdProducto PrecioProv) que es la tabla que finalmente iré poblando y en la que buscaré el precio según el pedido que le haga al proveedor.
La lógica es: agrego proveedores, categorías, subcategorías (perteneciente a categorías), productos (que pertenecen a una subcategoría). Luego las de relación: ProvYCat que asigno 1 o más categorías a cada proveedor para que finalmente en el formulario de la relación ProductosXProveedor pueda seleccionar un proveedor y obtenga todos los productos cuya subcategoría pertenezcan a las categorías que se relacionan en ProvYCat (es bastante complejo) y de esta forma agregar precio de los productos que yo quiera.
La consulta es la siguiente: Necesito seleccionar un proveedor (ya referenciado a la tabla proveedores) y que por medio de selects anidados obtenga todos los productos disponibles de ese proveedor.
Productos tiene [IdSubCat] entre su columnas la cual me sirve como condición en la tabla SubCategorias [IdSubCat] para extraer [IdCat] que sirve como condición en la tabla ProvYCat [IdCat] en la tabla ProvYCat también se encuentra [IDProveedor] que es finalmente por lo único que pregunto en el formulario para cerrar la consulta:
SELECT (Productos [IdProducto],
Productos[IdSubCat]=(SELECT(SubCategorias [IdSubCat],
SubCategorias[IdCat]=(SELECT(ProvYCat [IdCat],
ProvYCat [IdProveedor]=[_THISROW].[IdProv]))
))
)
Error al aplicar la fórmula: Cannot compare List with Ref in (ProvYCat[IdProveedor] = [_THISROW].[IdProveedor])
Tengo varias tablas que presento más abajo
CATEGORIAS | SUBCATEGORIAS | PRODUCTOS | |||
IdCat | IdSubCat | IDProducto | |||
Categoria | IdCat | Descripcion | |||
SubCategoria | IdSubCat | ||||
PrecioVenta | |||||
ProvYCat | TeclaBascula | ||||
ID | Unidad | ||||
IdProveedor | CambioPrecio | ||||
IdCat | |||||
PROVEEDORES | |||||
IDProveedor | |||||
Empresa | |||||
Comercial | |||||
Telefono1 |
La fórmula está en el apartado Data validity - Valid If de la columna IdProducto de la tabla ProductosXProveedor.
Si se puede se comenta algo sino al igual deba dedicarme a otro hobby.
Gracias saludos
Solved! Go to Solution.
Que tal Gabriel.
No entendí muy bien que es lo que quieres hacer exactamente, pero el error que manda (Cannot compare List with Ref in (ProvYCat[IdProveedor] = [_THISROW].[IdProveedor]))es que estás tratando de comparar un solo elemento contra un SELECT que da como resultado una lista.
Para que te regrese un solo elemento, puedes probar usando ANY(SELECT ()) o poniendo el último parametro del SELECT a true.
Si lo que buscas es ver si un elemento está en una lista, puedes ver también el comando IN().
Espero que te sea de ayuda.
Saludos.
Your SELECT() statements are entirely wrong. I suggest you spend some more time learning how they work.
Que tal Gabriel.
No entendí muy bien que es lo que quieres hacer exactamente, pero el error que manda (Cannot compare List with Ref in (ProvYCat[IdProveedor] = [_THISROW].[IdProveedor]))es que estás tratando de comparar un solo elemento contra un SELECT que da como resultado una lista.
Para que te regrese un solo elemento, puedes probar usando ANY(SELECT ()) o poniendo el último parametro del SELECT a true.
Si lo que buscas es ver si un elemento está en una lista, puedes ver también el comando IN().
Espero que te sea de ayuda.
Saludos.
Muchas gracias.
Lo probaré así entonces.
User | Count |
---|---|
43 | |
26 | |
24 | |
14 | |
12 |