Fórum Cascudo! Select usando data do MonthCalendar (ADO/MSAccess) #235863

02/06/2004

0

Amigos,
Tavez você possa me ajudar?! :?
Estou montando uma tela tipo MSOutlook onde ao clicar no dia é visualizado os compromissos relacionados. Estou usando um banco Access e ADO. O problema é o seguinte nos dias abaixo de 12 (12/05 ou 09/07) a ADOQuery não funciona!!!
Veja o código:
Código:

procedure TF_AgComp.MC_CompromissoClick(Sender: TObject); 
begin 
[color=orange]Ed_AgData.Text:=FormatDateTime(´dd/mm/yyyy´,MC_Compromisso.Date); [/color]
DM_Banco.Q_Agenda.close; 
Dm_Banco.Q_Agenda.sql.Clear; 
DM_Banco.Q_Agenda.SQL.Add(´Select * from Agenda where AgData=´[color=orange]+Ed_AgData.Text+[/color]´ Order by AgHora´); 
DM_Banco.Q_Agenda.open; 
end; 



Grato,
Cfino.


Cfino

Cfino

Responder

Posts

02/06/2004

Bon Jovi

Acho q Access não tem uma função 100¬ segura pra converter data em string pra data em datetime. Não uso Access pra aplicações multiusuário e CDATE é seguro no caso de monousuário. Pelo menos nunca testei acessando remotamente, se a formatação de data vale a do micro cliente ou do servidor.

Ex. CDATE:
var
  StrData: string;
begin
  StrData := FormatDateTime(ShortDateFormat, MC_Compromisso.Date);
  Q_Agenda.SQL.Text := 
    ´Select * from Agenda ´ + 
    ´where AgData = CDATE(´ + StrData  + ´) ´ + 
    ´Order by AgHora´;
end;


Embora chato, o mais ´certo´ seria usar TParameters.


Responder

Gostei + 0

02/06/2004

Cfino

Valeu pela dica vou tentar usar!
A questão de usar Tparameters é que não entendi muito bem seu funcionamento e por isso tenho um pouco de dificuldade. Inclusive tentei nesse caso mas não saiu nada!!! :oops:

Grato,
Cfino.


Responder

Gostei + 0

02/06/2004

Cfino

Na verdade Caro Bon Jovi quando acrescento o comando CDATE no Select ele para de funcionar!!!

Se tiver outra idéia agradeço,
Cfino.


Responder

Gostei + 0

02/06/2004

Bon Jovi

Esqueci de colocar o QuotedStr

´where AgData = CDATE(´ + QuotedStr(StrData) + ´) ´ +

Se tiver guardando hora junto com a data em AgData, tem q fazer o seguinte:

´Select * from Agenda ´ +
´where AgData >= CDATE(´ + QuotedStr(StrData) + ´) ´ +
´and AgData <= CDATE(´ + QuotedStr(StrData + ´ 23:59:59´) + ´) ´ +
´Order by AgHora´;


Responder

Gostei + 0

03/06/2004

Cfino

Valeu cara!!! Já virei seu fã!!!

Obrigado pela ajuda,
Cfino.


Responder

Gostei + 0

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

Aceitar