Excel - Consulta tablas en base de datos Access

   
Vista:

Consulta tablas en base de datos Access

Publicado por Nelson Torres net10_2@yahoo.com (62 intervenciones) el 28/08/2014 09:26:39
Buenos días, tengo el siguiente problema. Estoy trabajando con una base de datos hecha en Access mediante la cual hago movimientos de registros por medio de macros en excel 2010. Tengo 3 tablas que deseo relacionar en un listbox. De la siguiente manera.

En Access tengo la tabla pedido en donde se encuentran los códigos de clientes y productos de sus tablas respectivas, lo que deseo hacer es halar el nombre del cliente y la descripción del producto con los códigos registrados en la tabla pedidos. Pero lamentablemente se me presenta un error en la sentencia inner join que no he podido resolver. He aquí el código que estoy usando.

strSQL = "SELECT Clientes.idCliente, Clientes.nombre, Productos.idProducto, Productos.descripcion, Pedido.fechaEntrega, "
strSQL = strSQL & "Pedido.horaEntrega, Pedido.fechaConsumo, Pedido.cantidad, Pedido.observaciones "
strSQL = strSQL & "FROM ((Clientes INNER JOIN Pedido ON Clientes.idCliente = Pedido.idCliente) Productos INNER JOIN "
'strSQL = strSQL & "Pedido ON Productos.idProducto = Pedido.idProducto)"

Pueden darme una manito por favor?

Gracias

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Oscar

Consulta tablas en base de datos Access

Publicado por Oscar (7 intervenciones) el 28/08/2014 09:44:44
En la clausula inner join tienes una cosa mal
tienes (Cliente INNER JOIN Pedido ON ..) Productos INNER JOIN Pedido ON ..
Debería ser (Cliente INNER JOIN Pedido ON ..) INNER JOIN Pedido ON ..


Prueba asi:
strSQL = "SELECT Clientes.idCliente, Clientes.nombre, Productos.idProducto, Productos.descripcion, Pedido.fechaEntrega, "
strSQL = strSQL & "Pedido.horaEntrega, Pedido.fechaConsumo, Pedido.cantidad, "
strSQL = strSQL & "FROM ((Clientes INNER JOIN Pedido ON Clientes.idCliente = Pedido.idCliente) INNER JOIN "
strSQL = strSQL & "Pedido ON Productos.idProducto = Pedido.idProducto)"



yo preferiria escribir el codigo de esta forma se lee más claro

1
2
3
4
strSQL = "SELECT Clientes.idCliente, Clientes.nombre, Productos.idProducto, Productos.descripcion, Pedido.fechaEntrega, " & _
     "Pedido.observaciones, Pedido.horaEntrega, Pedido.fechaConsumo, Pedido.cantidad, Pedido.observaciones " & _
     "FROM ((Clientes INNER JOIN Pedido ON Clientes.idCliente = Pedido.idCliente)  INNER JOIN "  & _
     "Pedido ON Productos.idProducto = Pedido.idProducto)"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta tablas en base de datos Access

Publicado por Nelson Torres net10_2@yahoo.com (62 intervenciones) el 09/09/2014 08:03:05
Muchas gracias Oscar, funciona gracias por tu ayuda.

Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta tablas en base de datos Access

Publicado por Nelson Torres net10_2@yahoo.com (62 intervenciones) el 09/09/2014 10:18:18
Hola nuevamente, esta ves estoy muy confundido con la sentencia para traer datos pero de 5 tablas, no se como relacionarlas entre si, te explico:

Tengo una tabla llamada Asignacion en donde relaciono a las tablas Pedido e Inventario, en la tabla Pedido relaciono datos de la tabla Cliente y en la tabla Inventarios relaciono datos de la tabla Productos.

Que deseo hacer?

Quiero traer los datos "orden", "fechaEntrega" y "cantidad" de la tabla Pedidos, el dato "nombre" de la tabla Clientes, los datos: "descripción" y "volumen" de la tabla Productos, los datos: "lote" y "cantidad" de la tabla Inventarios y los datos "ubicación", "saldo" y "liberación" de la tabla Asignación.

Cómo puedo hacerlo?

Gracias!!

Saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar