USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Cláusula Order by em conflito com Distinct
Perci
MATÃO
SP - BRASIL
ENUNCIADA !
Postada em 01/12/2008 10:53 hs            
Olá, amigos, gostaria de saber o seguinte:
Estou fazendo uma consulta assim:
sql = "Select Distinc(numero), data From Entregas Order By Cdate(data)"
só que me retorna o erro:
 
CLÁUSULA ORDER BY (CDATE(DATA)) EM CONFLITO COM DISTINCT
 
Como faço para consertar isso?
Obrigado desde já.
Até mais.
 
   
PH1959
Pontos: 2843
SÃO JOSÉ DOS CAMPOS
SP - BRASIL
ENUNCIADA !
Postada em 01/12/2008 11:44 hs            
parece q vc está usando dois nomes de campos diferentes para o mesmo campo...(olha em negrito...)
 
sql = "Select Distinc(numero), data From Entregas Order By Cdate(data)"
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 01/12/2008 11:53 hs            
basta tirar o cdate
 
sql = "Select Distinc(numero), data From Entregas Order By data"
 
na realidade o campo deve estar com data no banco de dados, acredito que você tenha criado este campo como texto, se sim pode tentar isto
 
sql = "Select Distinc(numero), data From Entregas Order By DateValue(data)"
 
   
Perci
MATÃO
SP - BRASIL
ENUNCIADA !
Postada em 01/12/2008 12:26 hs            
Olá Treze, meu amigo.
De fato, o campo data está na tabela como texto e o numero está como número.
Só que no campo número existem registros duplicados.
Estou utilizando o Distinct para informar o número apenas uma vez. Porém queria informar os dados, por ordem de data.
Do jeito que você postou, Order By DateValue(data) me apareceu a mesma mensagem.
E da outra maneira: Order By data, não me deu o resultado esperado. Queria que os registros aparecessem de maneira que a última data fosse a primeira da lista.
Talvez eu não tenha sido bem claro nessa parte.
Aqui está a parte do código para realizar essa tarefa:
 
Private Sub BtnListar_Click()
    sqle = "Select Distinct(carga),data,motorista,caminhao From Entregas Order By DateValue(data) Desc"
    Set rse = db.OpenRecordset(sqle)
    LstEntregas.ListItems.Clear
    LstCargas.ListItems.Clear
    While Not rse.EOF
        Set linha = LstCargas.ListItems.Add(, , rse("carga"))
        linha.SubItems(1) = "" & CDate(rse("data"))
        linha.SubItems(2) = "" & rse("motorista")
        rse.MoveNext
    Wend
End Sub
 
O erro que aparece aponta para a linha em negrito.
Valeu.
Até mais.
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 01/12/2008 12:38 hs            
eu acredito que assim funcione
 
 sqle = "Select Distinct(carga), Cdate(data) as DataOrdem ,motorista,caminhao From Entregas Order By DataOrdem Desc"
ou simplismente
 
sqle = "Select Distinct(carga), Cdate(data) ,motorista,caminhao From Entregas Order By data Desc"
TÓPICO EDITADO
 
Perci
MATÃO
SP - BRASIL
ENUNCIADA !
Postada em 01/12/2008 16:02 hs            
Ok, tentei das duas maneiras e também não deu certo, não.
 
Se alguém puder nos dar uma luz, agradeço muito.
 
   
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página