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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Consulta por Data em MYSql
R3C
SÃO PAULO
SP - BRASIL
Postada em 03/11/2008 17:48 hs         
Boa tarde.
Possuo um BD em MySQL e preciso trazer todos os registros de uma tabela tendo como parâmetro um campo no formato data.
Como o o campo data em MySQl é padrão yyyy-mm-dd tentei fazer a conversão em modo de execução da consulta SQL, conforme abaixo.
No entanto apesar de possuir registros com o campo "Data" iguais ao parâmetro solicitado na SQL (varData) não há retorno de resultados.
O código é:

    Set ob_A = New ADODB.Recordset
    SQL1 = "SELECT * FROM tbl_ComprasMat WHERE Date_Format(Data, '%d/%m/%y') = '" & Format(varData, "dd/mm/yyyy") & "'"
    ob_A.Open SQL1, Con, adOpenDynamic, adLockOptimistic, adCmdText

If ob_A.EOF Then
   MsgBox "Não há movimento de estoque para a data ou período relacionado.", vbCritical, "Atenção!"
   Exit Sub
End If


A variável varData está no formato 'dd/mm/yyyy'.
Alguém saberia informar se há algo errado na sintaxe sql?
Desde já agradeço.
     
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
Postada em 03/11/2008 18:26 hs            
você tentou assim
 
 SQL1 = "SELECT * FROM tbl_ComprasMat WHERE Data ='" & Format(varData, "yyyy-mm-dd") & "'"
     
R3C
SÃO PAULO
SP - BRASIL
Postada em 03/11/2008 19:26 hs         
Ainda não havia tentado.
Agora deu certo.
Muito obrigado pela ajuda.
Obrigado mesmo.

E aproveitando, no mesmo caso acima preciso também encontrar registros em que o campo Data esteja entre duas datas (Inicial e Final).
Com base na sua ajuda tentei montar a SQL desta maneira:
"SELECT * tbl_ComprasMat WHERE Data between #" & Format(varDataInicial, "yyyy-mm-dd") & "# and #" & Format(varDataFinal, "yyyy-mm-dd") & "#"

No entanto não foi aceita a sintaxe pelo MySQL, saberia me dizer o que pode estar errado agora?

TÓPICO EDITADO
   
Treze
não registrado
ENUNCIADA !
Postada em 04/11/2008 00:50 hs   
MySQL não aceita # e sim ' veja se assim funciona
 
"SELECT * tbl_ComprasMat WHERE Data between '" & Format(varDataInicial, "yyyy-mm-dd") & "' and '" & Format(varDataFinal, "yyyy-mm-dd") & "'"
 
   
Treze
não registrado
Postada em 04/11/2008 01:01 hs   
dseculpe tinha mais erros veja agora
 
"SELECT * FROM tbl_ComprasMat WHERE Data between '" & Format(varDataInicial, "yyyy-mm-dd") & "' and '" & Format(varDataFinal, "yyyy-mm-dd") & "'"
 
     
R3C
SÃO PAULO
SP - BRASIL
Postada em 04/11/2008 09:10 hs         
Deu certo.
Além da ausência do "from" (erro na digitação) havia uma aspa a mais.
A sua linha resolveu o problema.
Muito obrigado mais uma vez.
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

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

HTML DESLIGADO

     
 VOLTAR

  



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