none
Consulta SQL de agrupacion de codigos RRS feed

  • Pregunta

  • Esta consulta extrae y agrupa de articulos de una tabla llamada Detalle. Funciona perfecta pero extrae TODOS los articulos de la tabla

    SELECT DISTINCTROW Detalle.Codigo, Detalle.Detall, Sum(Detalle.Cantidad) AS [Suma De Cantidad], Sum(Detalle.Sub) AS [Suma De Sub]

    FROM Detalle
    GROUP BY Detalle.Codigo, Detalle.Detall;

    Esta tabla tiene un campo llamado Familia. Si modificamos la consulta para que separe por familia tal que asi:

    SELECT DISTINCTROW Detalle.Codigo, Detalle.Detall, Sum(Detalle.Cantidad) AS [Suma De Cantidad], Sum(Detalle.Sub) AS [Suma De Sub]
    FROM Detalle where familia=?
    GROUP BY Detalle.Codigo, Detalle.Detall;

    simplemente no funciona y sale un error de que no puede leer el texto de la consulta

    Que hay de mal en la segunda consulta? 

    Gracias al que me saque del pozo y arroje un poco de luz

    martes, 2 de junio de 2015 20:06

Todas las respuestas

  • Viendo el DISTINCTROW entiendo que estamos hablando de Access ¿no?

    No sé si tendrá algo que ver, creo que no, pero en una consulta sobre una única tabla DISTINCTROW no tiene ningún efecto. Puedes quitarlo.

    martes, 2 de junio de 2015 20:30
  • Hola Asier.

    Efectivamente. La consulta está hecha con el asistente de Acces y al pasarla a VB este le quita la palabra DISTINCTROW, pero el problema que no acabo de entender es que la primera funciona perfectamente y la segunda que es lo mismo solo que con el "..where familia=?" deja de funcionar y da error de sintaxis y yo no lo veo por ninguna parte.

    De todas formas,  como deberia ser la consulta para que filtrase por el campo familia seleccionando este desde un listbox u otro control?

    Yo grabo la consulta:

    SELECT DISTINCTROW Detalle.Codigo, Detalle.Detall, Sum(Detalle.Cantidad) AS [Suma De Cantidad], Sum(Detalle.Sub) AS [Suma De Sub]
    FROM Detalle where familia=?
    GROUP BY Detalle.Codigo, Detalle.Detall; y luego en el evento click del Listbox

    Me.PorFamiliaTableadapter.Porfamilia(Listbox1.text)

    Pero no funciona

    Bueno, seguire porque en algun lado debe estar el error

    Gracias por contestar

    martes, 2 de junio de 2015 21:13