Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafaeloliveira83

[Resolvido] Como faço SELECT no Banco pela Data do MonthCalendar?

Recommended Posts

Estou tentando fazer uma consulta no banco por uma data:

 

Diária, Semanal e Mensal

 

A diária pensei em criar uma Query Temporária pegando a data que o usuário escolhesse no MonthCalendar, porem não deu certo:

 

DM.queryTemp.Connection := Conexao; //* Conecta a Query a Conexão Access
DM.queryTemp.Close;
DM.queryTemp.SQL.Text := 'SELECT Data FROM Agenda WHERE Data = "MCCalendario.Date"';
DM.queryTemp.Open;

 

Não da certo da erro de critério.

 

OBS: Estou usando o ADOQuery

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui da Seguinte forma:

 

Coloque:

 

ADODataSet

DataSetProvider

ClientDataSet

DataSource

 

1-) No ADODataSet liguei em ADOConnection e em CommandText:

 

SELECT Data FROM Agenda WHERE Data = :pData

 

2-) DataSetProvider liguei em ADODataSet

 

3-) ClientDataSet liguei em DataSetProvider.

 

No ClientDataSet cliquei com o botão direito e Fetch Params para pegar o parâmetro do ADODataSet

 

4-) DataSource liguei em ClientDataSet;

 

5-) Consulta

 

No botão:

 

ClientDataSet.Close;
ClientDataSet.Params[0].AsDate := MCCalendario.Date;
ClientDataSet.Open;
DBGrid.DataSource := DM.DataSource;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rafael,

 

Verifique o formato da data que seu banco entende e verifique se não é necessário colocar aspas (") na sua select. Tente algo assim:

 

DM.queryTemp.Connection := Conexao;

DM.queryTemp.Close;

DM.queryTemp.SQL.Text := 'SELECT Data FROM Agenda WHERE Data = "'+FormatDateTime('dd/mm/yyyy',MCCalendario.Date)+'"';

DM.queryTemp.Open;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.