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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  sintaxe CASE em SQL com erro
feralton
DESCALVADO
SP - BRASIL
ENUNCIADA !
Postada em 01/09/2004 09:28 hs         
Bom dia!
Alguem saberia o erro que está na linha abaixo? Estou utilizando um banco .mdb e vb6.
Vou dar uma breve descrição.
Seria uma consulta, onde um dos filtros da condição where seria se uma checkbox estiver marcada. Se sim, no where tambem consultar no banco registro com a conta "POP", se nao estiver marcada, consultar no banco todas as contas.
 
"select * from pagrec where valor > 100'" & _
" and (data_mov between #" & Format(txt_datain, "mm/dd/yy") & "# and #" &  Format(txt_datafim, "mm/dd/yy") & "#)" & _
" and (case when " & chk_seleciona.Value = 1 & " then conta = 'POP' end)"
 

Muito obrigado!
   
Jonas
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 01/09/2004 09:32 hs            
Amigo, eu faria assim:
 
If chk_seleciona.Value = 1 then
"select * from pagrec where valor > 100'" & _
" and (data_mov between #" & Format(txt_datain, "mm/dd/yy") & "# and #" &  Format(txt_datafim, "mm/dd/yy") & "#)" & _
" and (conta = 'POP')"
Else
"select * from pagrec where valor > 100'" & _
" and (data_mov between #" & Format(txt_datain, "mm/dd/yy") & "# and #" &  Format(txt_datafim, "mm/dd/yy") & "#)"
End If
 
Té mais
   
feralton
DESCALVADO
SP - BRASIL
Postada em 01/09/2004 09:41 hs         
cara, valeu pela dica, mas acontece o seguinte, tenho um form com um botao consultar, duas txtbox para colocar o intervalo de data e um checkbox para especificar se será consultado determinada conta.
Eu gostaria de fazer um codigo fonte um pouco enxuto, por isso o uso do case.
 
Mas valeu pela dica amigo!
     
Zeca
não registrado
Postada em 01/09/2004 10:03 hs   
sql = select * from pagrec where valor > 100'" & _
" and (data_mov between #" & Format(txt_datain, "mm/dd/yy") & "# and #" &  Format(txt_datafim, "mm/dd/yy") & "#)"
if chk_seleciona.value = 1 then sql = sql & " and (conta = 'POP')"
 
... assim fica um pouquinho mais enxuto - mas continua com a mesma idéia do Jonas
     
feralton
DESCALVADO
SP - BRASIL
Postada em 01/09/2004 10:13 hs         
obrigado pelas dicas, mas preciso utilizar a funcao "CASE" ou "IF", pois pretendo colocar mais checkbox em meu form e o meu problema é como é a sintaxe da função case ou if em sql...
 
obrigado!
     
Alexandre C.G
Pontos: 2843 Pontos: 2843
PATOS DE MINAS
MG - BRASIL
ENUNCIADA !
Postada em 01/09/2004 11:17 hs            
SELECT   Category =
      CASE type
         WHEN 'popular_comp' THEN 'Popular Computing'
         WHEN 'mod_cook' THEN 'Modern Cooking'
         WHEN 'business' THEN 'Business'
         WHEN 'psychology' THEN 'Psychology'
         WHEN 'trad_cook' THEN 'Traditional Cooking'
         ELSE 'Not yet categorized'
      END,
FROM titles
WHERE price IS NOT NULL
   
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