Visual Basic - Ayuda con SQL

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda con SQL

Publicado por Amalia (38 intervenciones) el 29/10/2001 15:57:31
HOla a todos: al realizar la consulta que detallo más adelante, el VB me canta este error: "Error 3122 en tiempo de ejecución. Ha intentado ejecutar una consulta que no incluye la expresión especificada NARTICULO como parte de una función de agregado". No hay error de sintaxis, sólo de ejecución, y viendo el help existen ejemplos similares, por lo cual no entiendo qué es lo que está mal. Por el mensaje interpreto que narticulo no forma parte del SUM, pero eso es lógico.

La consulta es esta:
Set cursor00 = db.OpenRecordset("select sum(movarti.entradas-movarti.salidas) as kexis , " _
& "articulo.narticulo " _
& "FROM articulo INNER JOIN movarti " _
& "ON movarti.narticulo = articulo.narticulo " _
& "WHERE articulo.narticulo = " & txtarticulo.Text & " " _
& "AND articulo.fbaja is null " _
& "GROUP by MOVARTI.SUCU, MOVARTI.LUGAR, MOVARTI.NARTICULO " _
& "order by MOVARTI.SUCU, MOVARTI.LUGAR ;")

Desde ya muchas gracias por su ayuda.
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

RE:Ayuda con SQL

Publicado por afogutu (321 intervenciones) el 29/10/2001 17:13:48
Es muy fácil, ejectuala en el Access // SQL y fijate que es lo que te da mal
Es mas, armala con las herramientas de la base y no vas a tener problemas.

Si te sigue molestando escribime y mandame una copia vacía de la base que te lo soluciono.

afogutu
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

RE:Ayuda con SQL

Publicado por PonchoWare (88 intervenciones) el 29/10/2001 22:25:52
Este es un problema al que me enfrentado muchas veces, y no le encontrado solucion, aparentemente es un error en el SQL de Microsoft Jet, la unica manera en que lo he solucionado es poniendo los campos por los que agrupo en la sentencia SELECT, aunque no los ocupe, no creo que sea la solucion ideal, pero es la unica que conozco...
Salu2
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

RE:Ayuda con SQL

Publicado por parece (1 intervención) el 30/10/2001 18:10:21
Hola, supongo que es esto:

Set cursor00 = db.OpenRecordset("select sum(movarti.entradas-movarti.salidas) as kexis , " _
& "articulo.narticulo " _
& "FROM articulo INNER JOIN movarti " _
& "ON movarti.narticulo = articulo.narticulo " _
& "WHERE articulo.narticulo = " & txtarticulo.Text & " " _
& "AND articulo.fbaja is null " _
& "GROUP by MOVARTI.SUCU, MOVARTI.LUGAR, MOVARTI.NARTICULO " _
& "order by MOVARTI.SUCU, MOVARTI.LUGAR ;")

En la instruccion SELECT tu pides operar los campos entradas y salidas que pertenecen a la tabla movarti y el campo narticulo que pertenece a la tabla articulo. Luego en la instrucción GROUP BY nombras el campo NARTICULO de la tabla MovArticulo y por eso te causa el error.
En la instruccion SELECT debes ponerle movarti.narticulo.
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