Cascudo! Select usando data do MonthCalendar (ADO/MSAccess)
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:
Grato,
Cfino.
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
Curtidas 0
Respostas
Bon Jovi
02/06/2004
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:
Embora chato, o mais ´certo´ seria usar TParameters.
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.
GOSTEI 0
Cfino
02/06/2004
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.
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.
GOSTEI 0
Cfino
02/06/2004
Na verdade Caro Bon Jovi quando acrescento o comando CDATE no Select ele para de funcionar!!!
Se tiver outra idéia agradeço,
Cfino.
Se tiver outra idéia agradeço,
Cfino.
GOSTEI 0
Bon Jovi
02/06/2004
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´;
´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´;
GOSTEI 0
Cfino
02/06/2004
Valeu cara!!! Já virei seu fã!!!
Obrigado pela ajuda,
Cfino.
Obrigado pela ajuda,
Cfino.
GOSTEI 0