AGRUPAR RELATORIO POR DATA
Tenho a consulta SQL abaixo que filtra os dados para um relatório. Ocorre que estou tentando agrpar e totalizar por data, só que aparece todas as datas e não agrupa. Acredito que seja, por que, o campo de DATA tem a hora junto. Como resolver isso?
strSQL = [Ô]SELECT SGI_Vendas.LojistaID, SGI_Vendas.Date_Add, [Ô]
strSQL = strSQL & [Ô]SUM(SGI_Vendas_Det.Qtde) AS SomaDeQtde, [Ô]
strSQL = strSQL & [Ô]SUM([SGI_Vendas_Det].[Qtde]*[SGI_Vendas_Det].[Vl_SubTotal]-([SGI_Vendas].[Total_Desconto]+[SGI_Vendas_Det].[Vl_Desc])) AS Vl_Total_Prod, [Ô]
strSQL = strSQL & [Ô]SGI_Vendas.TipoSaidaID [Ô]
strSQL = strSQL & [Ô]FROM SGI_Vendas INNER JOIN SGI_Vendas_Det [Ô]
strSQL = strSQL & [Ô]ON SGI_Vendas.VendaID = SGI_Vendas_Det.VendaID [Ô]
strSQL = strSQL & [Ô]GROUP BY SGI_Vendas.LojistaID, [Ô]
strSQL = strSQL & [Ô]SGI_Vendas.Date_Add, [Ô]
strSQL = strSQL & [Ô]SGI_Vendas.TipoSaidaID [Ô]
strSQL = strSQL & [Ô]HAVING (((SGI_Vendas.LojistaID)=[ô][Ô] & strCodigoLojista & [Ô][ô]) [Ô]
strSQL = strSQL & [Ô]AND ((SGI_Vendas.Date_Add) [Ô]
strSQL = strSQL & [Ô]BETWEEN [ô][Ô] & strDataI & [Ô][ô] AND [ô][Ô] & strDataF & [Ô][ô])) [Ô]
strSQL = strSQL & [Ô]AND SGI_Vendas.TipoSaidaID=[ô]1[ô] [Ô]
strSQL = strSQL & [Ô]ORDER BY SGI_Vendas.Date_Add;[Ô]
PS: Uso Visual Basic 6 e o banco de dados é SQL Server 2000.
strSQL = [Ô]SELECT SGI_Vendas.LojistaID, SGI_Vendas.Date_Add, [Ô]
strSQL = strSQL & [Ô]SUM(SGI_Vendas_Det.Qtde) AS SomaDeQtde, [Ô]
strSQL = strSQL & [Ô]SUM([SGI_Vendas_Det].[Qtde]*[SGI_Vendas_Det].[Vl_SubTotal]-([SGI_Vendas].[Total_Desconto]+[SGI_Vendas_Det].[Vl_Desc])) AS Vl_Total_Prod, [Ô]
strSQL = strSQL & [Ô]SGI_Vendas.TipoSaidaID [Ô]
strSQL = strSQL & [Ô]FROM SGI_Vendas INNER JOIN SGI_Vendas_Det [Ô]
strSQL = strSQL & [Ô]ON SGI_Vendas.VendaID = SGI_Vendas_Det.VendaID [Ô]
strSQL = strSQL & [Ô]GROUP BY SGI_Vendas.LojistaID, [Ô]
strSQL = strSQL & [Ô]SGI_Vendas.Date_Add, [Ô]
strSQL = strSQL & [Ô]SGI_Vendas.TipoSaidaID [Ô]
strSQL = strSQL & [Ô]HAVING (((SGI_Vendas.LojistaID)=[ô][Ô] & strCodigoLojista & [Ô][ô]) [Ô]
strSQL = strSQL & [Ô]AND ((SGI_Vendas.Date_Add) [Ô]
strSQL = strSQL & [Ô]BETWEEN [ô][Ô] & strDataI & [Ô][ô] AND [ô][Ô] & strDataF & [Ô][ô])) [Ô]
strSQL = strSQL & [Ô]AND SGI_Vendas.TipoSaidaID=[ô]1[ô] [Ô]
strSQL = strSQL & [Ô]ORDER BY SGI_Vendas.Date_Add;[Ô]
PS: Uso Visual Basic 6 e o banco de dados é SQL Server 2000.
Experimente colocar a linha strSQL = strSQL & [Ô]GROUP BY SGI_Vendas.LojistaID no final da rotina.
ALCIRTEODORO não sei se você já consegui, pude ver o tópico somente hoje.
Eu tive um problema com campo data que tinha horas juntos e resolvi esse problema
fazendo uma condição no sql da seguinte maneira.
Select [Ô]Campos[Ô] From [Ô]Tabelas[Ô] Where Campo_Data >= [Ô]dia/mm/yy 00:00:00[Ô] and Campo_Data <= [Ô]dia/mm/yy 23:59:59[Ô]
Fazendo essa referência com a horas o filtro funcionou, foi a única maneira que consegui.
Caso você não tenha ainda conseguido espero ter ajudado.
Até mais.
Eu tive um problema com campo data que tinha horas juntos e resolvi esse problema
fazendo uma condição no sql da seguinte maneira.
Select [Ô]Campos[Ô] From [Ô]Tabelas[Ô] Where Campo_Data >= [Ô]dia/mm/yy 00:00:00[Ô] and Campo_Data <= [Ô]dia/mm/yy 23:59:59[Ô]
Fazendo essa referência com a horas o filtro funcionou, foi a única maneira que consegui.
Caso você não tenha ainda conseguido espero ter ajudado.
Até mais.
Tópico encerrado , respostas não são mais permitidas