>Estoy utilizando una vista de 4 tablas para creear un informe, dos tablas maestro-detalle (pedidos y detalles de pedidos), y otras dos con la información del proveedor y del vendedor que realiza el pedido. El SQL que genera la vista es el siguiente:
>
>SELECT Pedidos.idpedido, Pedidos.proveedor, Pedidos.fecha,;
> Pedidos.tecnico, Pedidos.total, Pedidos.iva, Pedidos.obsevac,;
> Pedidos.cancelado, Vendedor.nombre, Det_pedido.descrip,;
> Det_pedido.unidades, Proveedo.tlfcontacto, Proveedo.contacto,;
> Proveedo.domicilio, Proveedo.telefono, Proveedo.fax, Proveedo.localidad;
> FROM datos!vendedor INNER JOIN datos!pedidos;
> INNER JOIN datos!det_pedido;
> INNER JOIN datos!proveedo ;
> ON Pedidos.proveedor = Proveedo.codigo ;
> ON Pedidos.idpedido = Det_pedido.pedido ;
> ON Vendedor.codigo = Pedidos.tecnico
>
>Al intentar guardar la vista me dice se ha producido un error de anális de consulta. Por otro lado, si copio el SQL y lo ejecuto en un formulario, parece que funciona, pero repite el mismo proveedor o vendedor en todos los registros (según el orden de los JOINS).
Simplifícala asi a ver que sucede ya que es difícil de leer como la has escrito.
Nota: no estas usando un cláusula WHERE para limitar los resultados!?
SELECT P.idpedido, P.proveedor, P.fecha, ;
P.tecnico, P.total, P.iva, P.obsevac, ;
P.cancelado, V.nombre, D.descrip, ;
D.unidades, Prov.tlfcontacto, Prov.contacto, ;
Prov.domicilio, Prov.telefono, Prov.fax, Prov.localidad ;
FROM datos!pedidos P ;
LEFT JOIN datos!vendedor V ;
ON P.tecnico = V.codigo
LEFT JOIN datos!det_pedido D ;
ON D.pedido = P.idpedido;
LEFT JOIN datos!proveedo Prov ;
ON P.proveedor = Prov.codigo ;