ERRO NO SELECT² RS
Pessoal nao tem como utilizar o distinc count num select?!
sqlCaixa1 = [Ô]select sum (valor) as valorDinheiro, count(chave)as varPessoasSql,
If IsDate(DT1) And IsDate(DT2) Then
sqlCaixa1 = sqlCaixa1 & [Ô] AND format(DATA,[ô]yyyy/mm/dd[ô]) between [ô][Ô] & Format(DT1, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô] and [ô][Ô] & Format(DT2, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô][Ô]
End If
Set rsCaixa = db.OpenRecordset(sqlCaixa1, dbOpenDynaset)
sqlCaixa1 = [Ô]select sum (valor) as valorDinheiro, count(chave)as varPessoasSql,
Citação:from caixa where tipo = [ô]E[ô] and documento <> [ô]CUPOM FISCAL[ô] [Ô]COUNT(distinct DATA) AS RETORNO
If IsDate(DT1) And IsDate(DT2) Then
sqlCaixa1 = sqlCaixa1 & [Ô] AND format(DATA,[ô]yyyy/mm/dd[ô]) between [ô][Ô] & Format(DT1, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô] and [ô][Ô] & Format(DT2, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô][Ô]
End If
Set rsCaixa = db.OpenRecordset(sqlCaixa1, dbOpenDynaset)
O distinct só serve para linhas que são exatamente iguais,você não consegue colocar o distinct em um unico campo,ele é valido para linha toda logo ele vem sempre denominado depois do select tipo Select Distinc ......
O que você pretende fazer?
O que você pretende fazer?
entao estava kerendo ver q quantidade de dias q teve movimento na tabela caixa!!
01/01
02/01
03/01 = 3 dias!!
soh q na tabala caixa tem muitos registros de cada dia!
entedeu ?? rs
01/01
02/01
03/01 = 3 dias!!
soh q na tabala caixa tem muitos registros de cada dia!
entedeu ?? rs
utilize group by para isso.. ou até mesmo o count
Entendi,o que dá para fazer é um subselect.
sqlCaixa1 = [Ô]select sum (valor) as valorDinheiro,COUNT(distinct(data) )as cont_data,
Citação:
COUNT(distinct DATA) AS RETORNO
from caixa where tipo = [ô]E[ô] and documento <> [ô]CUPOM FISCAL[ô] [Ô]
If IsDate(DT1) And IsDate(DT2) Then
sqlCaixa1 = sqlCaixa1 & [Ô] AND format(DATA,[ô]yyyy/mm/dd[ô]) between [ô][Ô] & Format(DT1, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô] and [ô][Ô] & Format(DT2, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô][Ô]
End If
Set rsCaixa = db.OpenRecordset(sqlCaixa1, dbOpenDynaset)
tenta assim..
sqlCaixa1 = [Ô]select sum (valor) as valorDinheiro,COUNT(distinct(data) )as cont_data,
Citação:
COUNT(distinct DATA) AS RETORNO
from caixa where tipo = [ô]E[ô] and documento <> [ô]CUPOM FISCAL[ô] [Ô]
If IsDate(DT1) And IsDate(DT2) Then
sqlCaixa1 = sqlCaixa1 & [Ô] AND format(DATA,[ô]yyyy/mm/dd[ô]) between [ô][Ô] & Format(DT1, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô] and [ô][Ô] & Format(DT2, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô][Ô]
End If
Set rsCaixa = db.OpenRecordset(sqlCaixa1, dbOpenDynaset)
tenta assim..
não deu certo PARREIRA, deu funcao distinct indefinida na expressao
e LVFIOROT é a quantidade!
e LVFIOROT é a quantidade!
Como que está seu select agora?
esta assim,
sqlCaixa1 = [Ô]select sum (valor) as valorDinheiro, count(chave)as varPessoasSql, COUNT(distinct(data)) as varRetornoDias from caixa where tipo = [ô]E[ô] and documento <> [ô]CUPOM FISCAL[ô] [Ô]
If IsDate(DT1) And IsDate(DT2) Then
sqlCaixa1 = sqlCaixa1 & [Ô] AND format(DATA,[ô]yyyy/mm/dd[ô]) between [ô][Ô] & Format(DT1, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô] and [ô][Ô] & Format(DT2, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô][Ô]
End If
Set rsCaixa = db.OpenRecordset(sqlCaixa1, dbOpenDynaset)
sqlCaixa1 = [Ô]select sum (valor) as valorDinheiro, count(chave)as varPessoasSql, COUNT(distinct(data)) as varRetornoDias from caixa where tipo = [ô]E[ô] and documento <> [ô]CUPOM FISCAL[ô] [Ô]
If IsDate(DT1) And IsDate(DT2) Then
sqlCaixa1 = sqlCaixa1 & [Ô] AND format(DATA,[ô]yyyy/mm/dd[ô]) between [ô][Ô] & Format(DT1, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô] and [ô][Ô] & Format(DT2, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô][Ô]
End If
Set rsCaixa = db.OpenRecordset(sqlCaixa1, dbOpenDynaset)
Qual banco de dados está usando?
access!
Tópico encerrado , respostas não são mais permitidas