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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Consulta SQL - URGENTE
Shidartha
BELO HORIZONTE
MG - BRASIL
ENUNCIADA !
Postada em 26/08/2004 17:29 hs         
Estou precisando fazer uma consulta num banco de dados que possui vários pagamentos em várias datas diferentes. Na minha aplicação o usuário define uma competência para consulta (mês/ano). A partir dai a variável QualMes recebe o mês (exemplo 7), e a variável QualAno recebe o ano (exemplo 2004).
 
Minha Consulta:
 
Set TBLancamentos = BDEscrita.OpenRecordset("SELECT Lancamentos.CodConta, Lancamentos.Data, * From Lancamentos WHERE Lancamentos.CodConta=" & QualConta & " AND Month([Data])=" & QualMes & " And Year([Data])=" & QualAno & "")
 
A variável Qualmes foi declarada como byte
A variável Qualano foi declarada como integer
 
Estou recebendo como resultado, todos os pagamentos da conta Qualconta, independente da competencia. Preciso receber como resultado todos os pagamentos dentro da conta Qualconta, e com o mês igual a Qualmes, e com ano igual a Qualano.
 
Exemplo:
 
Base de dados:
 
30/06/2004 - Pago W
01/08/2004 - Pago X
07/08/2004 - Pago Y
12/01/2005 - Pago Z
 
Se o usuário selecionar a competência 08/2004, deve-se retornar:
 
01/08/2004 - Pago X
07/08/2004 - Pago Y
 
Mas o sistema me retorna todos os quatro lançamentos.
 
Deve ser algum problema de sintaxe. Já tentei usar # antes e depois da variavel Qualmes e tambem na variavel Qualano, mas nao resolveu.
 
Aguardo Soluções.
 
Obrigado!

Shidartha Fonseca Rosa

ssrosa@uai.com.br

MSN: ShidarthaFR@Hotmail.com

   
Shidartha
BELO HORIZONTE
MG - BRASIL
ENUNCIADA !
Postada em 26/08/2004 19:31 hs         
up

Shidartha Fonseca Rosa

ssrosa@uai.com.br

MSN: ShidarthaFR@Hotmail.com

   
JoãoCarlosjr
RIBEIRÃO PRETO
SP - BRASIL
ENUNCIADA !
Postada em 27/08/2004 00:15 hs            
E aí Shidartha vê se esse código dá certo, mas creio que é por aí.
 
Dim Dt1, Dt2 as string
Dt1 = "01/" & QualMes & "/" & QualAno
Dt2 = "31/" & QualMes & "/" & QualAno
Set TBLancamentos = BDEscrita.OpenRecordset("SELECT * From Lancamentos WHERE CodConta=" & QualConta & " AND between " & Dt1 & " and " & Dt2 & ", order by CodConta")
 
Falou....
   
Ricardo Lerma
SÃO VICENTE
SP - BRASIL
Postada em 27/08/2004 08:12 hs         
Você não precisa declarar na SELECT os campos que você utiliza na cláusula WHERE, oquê está acontecendo é que você está trazendo o campo DATA duas vezes, uma na chamada "*", e outra em "Lancamentos.Data", tente usar desta forma:
 
Set TBLancamentos = BDEscrita.OpenRecordset("SELECT * From Lancamentos WHERE Lancamentos.CodConta=" & QualConta & " AND Month(Lancamentos.Data)=" & QualMes & " And Year(Lancamentos.Data)=" & QualAno)
 
Abraços,

VBWEB - O Portal do Desenvolvedor

Agora o VBWEB também hospeda sites!
isto mesmo! conheçam os planos do VBWEB Hosting

     
Shidartha
não registrado
Postada em 27/08/2004 11:42 hs   
João Carlos, a sua solução não é interessante pra mim, pois quero trabalhar apenas com mês/ano. Se tiver que trabalhar com dias, terei que ter um codigo que me fale quantos dias cada mês tem, além de ter q tratar o código para anos bissextos.
 
Webmaster, a sua solução não funcionou, eu continuo recebendo todos os pagamentos da conta Qualconta, e não apenas os da competencia selecionada, exemplo Qualmes=7 e Qualano=2004.
 
Continuo aguardando outras soluções.
     
Shidartha
BELO HORIZONTE
MG - BRASIL
ENUNCIADA !
Postada em 27/08/2004 12:21 hs         
O mais interessante é que dentro do Access a SQL:
 
SELECT Lancamentos.CodConta, Lancamentos.Data, *
FROM Lancamentos
WHERE (((Lancamentos.CodConta)=12) AND ((Month([Data]))=8) AND ((Year([Data]))=2004));
Funciona normalmente. Ela me retorna exatamente 2 pagamentos apenas. Pois no mes 8 e Ano 2004 foram realizados apenas 2 pagamentos.
 
Agora se eu pegar este código e colar no VB, e substituir o valor 8 pela variavel QualMes e substituir o valor 2004 pela variável QualAno, a rotina nao funciona, ele me retorna todos os pagamentos, ao invés de apenas 2.
 
:(
 
Me ajudem plz.

Shidartha Fonseca Rosa

ssrosa@uai.com.br

MSN: ShidarthaFR@Hotmail.com

   
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