Fórum Código SQL #212643

09/02/2004

0

Tenho as seguintes instruções em sql:

DmSGIMO.QryRelatorioPCMSO.Close;
DmSGIMO.QryRelatorioPCMSO.SQL.Clear;
DmSGIMO.QryRelatorioPCMSO.SQL.Add(´SELECT DISTINCT Funcionarios.Nome, Funcionarios.RG,´);
DmSGIMO.QryRelatorioPCMSO.SQL.Add(´ Funcionarios.OE, Setores.Descricao, CBO.NomeSinonimo,´);
DmSGIMO.QryRelatorioPCMSO.SQL.Add(´ Exames.Data, Exames.Conclusao, Exames.Tipo, Exames.ExameExterno, Exames.MedicoCoordCod´);
DmSGIMO.QryRelatorioPCMSO.SQL.Add(´ FROM Funcionarios, Setores, Exames, CBO´);
DmSGIMO.QryRelatorioPCMSO.SQL.Add(´ WHERE Funcionarios.EmpresaCod = :CodigoEmpresa´);
DmSGIMO.QryRelatorioPCMSO.SQL.Add(´ AND Funcionarios.Cbo2002Cod = CBO.Codigo´);
DmSGIMO.QryRelatorioPCMSO.SQL.Add(´ AND Funcionarios.Codigo = Exames.FuncionarioCodigo´);
DmSGIMO.QryRelatorioPCMSO.SQL.Add(´ AND Funcionarios.SetorCod = Setores.Codigo´);
DmSGIMO.QryRelatorioPCMSO.SQL.Add(´ AND Funcionarios.Codigo IN´);
DmSGIMO.QryRelatorioPCMSO.SQL.Add(´ (SELECT Exames.FuncionarioCodigo´);
DmSGIMO.QryRelatorioPCMSO.SQL.Add(´ FROM Exames´);
DmSGIMO.QryRelatorioPCMSO.SQL.Add(´ WHERE Exames.Data BETWEEN :DataInicial AND :DataFinal)´);
DmSGIMO.QryRelatorioPCMSO.SQL.Add(´ ORDER BY Funcionarios.Nome´);
DmSGIMO.QryRelatorioPCMSO.Params[0].ParamType := ptInputOutput;
DmSGIMO.QryRelatorioPCMSO.Params[0].DataType := ftInteger;
DmSGIMO.QryRelatorioPCMSO.Params[0].Value := CodigoEmpresa;
DmSGIMO.QryRelatorioPCMSO.Params[1].ParamType := ptInputOutput;
DmSGIMO.QryRelatorioPCMSO.Params[1].DataType := ftDate;
DmSGIMO.QryRelatorioPCMSO.Params[1].Value := StrToDate(MaskEdit1.Text);
DmSGIMO.QryRelatorioPCMSO.Params[2].ParamType := ptInputOutput;
DmSGIMO.QryRelatorioPCMSO.Params[2].DataType := ftDate;
DmSGIMO.QryRelatorioPCMSO.Params[2].Value := StrToDate(MaskEdit2.Text);
DmSGIMO.QryRelatorioPCMSO.Open;

O problema é que todos os exames estão sendo mostrados, como se as datas não importassem. Fazendo maskedit1 = 01/01/1996 e maskedit2 = 31/12/1996 aparecem exames do ano de 2004 também, aonde só era para aparecer os exames do período indicado.
´DmSGIMO.QryRelatorioPCMSO.SQL.Add(´ (SELECT Exames.FuncionarioCodigo´);
DmSGIMO.QryRelatorioPCMSO.SQL.Add(´ FROM Exames´);
DmSGIMO.QryRelatorioPCMSO.SQL.Add(´ WHERE Exames.Data BETWEEN :DataInicial AND :DataFinal)´);´

O que pode estar errado nesse código?


Rmarcelop

Rmarcelop

Responder

Posts

09/02/2004

Lucas Silva

Qual que é a descrição do erro??
Ele da em tempo de execução???


Responder

Gostei + 0

09/02/2004

Vinicius2k

[quote:373700358f=´Lucas Alves Silva´]Qual que é a descrição do erro??
Ele da em tempo de execução???[/quote:373700358f]
Lucas, não tem erro... só o select dele não dá o resultado esperado...

Colega,
Acredito que o problema seja com a formatação da data informada nos parâmetros...
Qual banco de dados vc estah usando?

T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar