Fórum Calculo do dia 5 de um mês a 5 do outro #290387

02/08/2005

0

Pessoal, tenho um TMonthCalendar e gostaria que, quando selecionado um determinado mês (de qualquer ano) ele fizesse uma busca dos valores do dia 5 desse mês e do dia 5 do mês seguinte.
:shock: :roll:


Vagner.oliveira

Vagner.oliveira

Responder

Posts

02/08/2005

Motta

Buscar o que ? aonde ?


Responder

Gostei + 0

02/08/2005

Marco Salles

Buscar o que ? aonde ?


Pessoal, tenho um TMonthCalendar e gostaria que, quando selecionado um determinado mês (de qualquer ano) ele fizesse uma busca dos valores do dia 5 desse mês e do dia 5 do mês seguinte.


Fiz no onclick do MonthCalendar , mas se pode estender para aonde voce quiser..

var
 datainicial,DataFinal:TDate;


procedure TForm1.MonthCalendar1Click(Sender: TObject);
var
 ano,mes,dia:Word;
begin
  decodedaTe(MonthCalendar1.Date,ano,mes,dia);
  dia:=5;
  DataInicial:=encodeDate(ano,mes,dia);
  if mes=12 Then
    begin
      mes:=1;
      ano:=ano+1;
    end
  else
    mes:=mes+1;
  DataFinal:=encodeDate(ano,mes,dia);
 Showmessage(Datetostr(DataInicial));
 Showmessage(DateTostr(DataFinal));
end;


Quando a Busca e so passar como Parametros..

Suponha que voce tenha um campo [b:e0f89a66f1]Data[/b:e0f89a66f1] no seu banco de dados. E so fazer :

query1.close;
query1.sql.add(´Select *From Nome da tabela´)
query1.sql.add(´Where Data <=:DataI´);
query1.FieldByName(´dataI´).AsDateTime:=DataInicial;
query1.sql.add(´Where Data >=:DataF´);
query1.FieldByName(´dataF´).AsDateTime:=Datafinal;
query1.Prepare;
query1.open;



Responder

Gostei + 0

03/08/2005

Vagner.oliveira

opa, tem como fazer a consulta sem a [b:27cd412abd]´/´[/b:27cd412abd] pois está dando erro


Responder

Gostei + 0

03/08/2005

Vagner.oliveira

opa, tem como fazer a consulta sem a [b:2d980f4e85]´/´[/b:2d980f4e85] pois está dando erro


tenho o campo data so que ocorre o erro na consulta:
field ´data´ not found

tenho o campo na tabela chamado [b:2d980f4e85]data[/b:2d980f4e85] que está como data, so que o campo tem apenas um dado.


Responder

Gostei + 0

03/08/2005

Marco Salles

Vamos por partes

opa, tem como fazer a consulta sem a ´/´ pois está dando erro


isto possivelmente nçao tem nada a ver com a consulta , mais precisamente com a sua mascara No MaskEdit.. Mas parece que voce resolveu esta etapa

tenho o campo data so que ocorre o erro na consulta: field ´data´ not found


Amigo , inclua este campo no fields Editor da query


Responder

Gostei + 0

03/08/2005

Vagner.oliveira

uso delphi 6 e não tem este campo :oops:


Responder

Gostei + 0

03/08/2005

Vagner.oliveira

uso delphi 6 e não tem este campo :oops:

:oops: :oops: opa to fumado, achei o troço :oops: :oops:


Responder

Gostei + 0

03/08/2005

Marco Salles

vagner.deoliveira escreveu: uso delphi 6 e não tem este campo opa to fumado, achei o troço


clique com o botão Direito do mouse sobre sua query e escolha a opção Fields Editor
Depois de Novamente Um Click No Editor de campos que ira aparecer e escolha a opção Add Fileds ou Add All Fields


Responder

Gostei + 0

03/08/2005

Vagner.oliveira

abri a query e coloquei o código:

Select * 
From tabela 
Where datai <=:5/8/2005 
and dataf >=:5/9/2005


pra fazer um teste, mas quando ativo da erro:
[b:87c80cc0c5] field ´5/8/2005´ is a unknown type[/b:87c80cc0c5]
se tentar com o código q me mandou
Select * From tabela
Where Data <=:5/8/2005 
Where Data >=:5/9/2005 


[b:87c80cc0c5] invalid use of keyword. Token ´Where´ line 3[/b:87c80cc0c5]
troco o [b:87c80cc0c5]where[/b:87c80cc0c5] para [b:87c80cc0c5]and[/b:87c80cc0c5] e da o erro de cima.

[b:87c80cc0c5][color=red:87c80cc0c5]Saliento que a tabela tem apenas um dado[/color:87c80cc0c5][/b:87c80cc0c5]


Responder

Gostei + 0

03/08/2005

Marco Salles

Eta :!: :!: :!:

se voce quiser fazer um teste em tempo de Projeto , deve usar o Parametro do Objecto Inspector da query

Mas vamos deixar isto para depois

Deixe a sql da query em tempo de projeto somente com isso :

Select * 
From tabela 


[b:0a5cc78b47]em tempo de execução , em algum lugar , ou evento escreva o código abaixo[/b:0a5cc78b47]:::


query1.close; 
query1.sql.add(´Select *From Nome da tabela´) 
query1.sql.add(´Where Data <=:DataI´); 
query1.FieldByName(´dataI´).AsDateTime:=StrToDate(´5/8/2005´); 
query1.sql.add(´Where Data >=:DataF´); 
query1.FieldByName(´dataF´).AsDateTime:=StrToDate(´5/9/2005´); 
query1.Prepare; 
query1.open;


[b:0a5cc78b47]O proximo passo é trocar os valores StrToDate(´5/8/2005´) e StrToDate(´5/9/2005´) pelas variáveis DataInicial e DataFinal[/b:0a5cc78b47]


Responder

Gostei + 0

04/08/2005

Vagner.oliveira

[quote:078de504b3=´Marco Salles´]Eta :!: :!: :!:

se voce quiser fazer um teste em tempo de Projeto , deve usar o Parametro do Objecto Inspector da query

Mas vamos deixar isto para depois

Deixe a sql da query em tempo de projeto somente com isso :

Select * 
From tabela 


[b:078de504b3]em tempo de execução , em algum lugar , ou evento escreva o código abaixo[/b:078de504b3]:::


query1.close; 
query1.sql.add(´Select *From Nome da tabela´) 
query1.sql.add(´Where Data <=:DataI´); 
query1.FieldByName(´dataI´).AsDateTime:=StrToDate(´5/8/2005´); 
query1.sql.add(´Where Data >=:DataF´); 
query1.FieldByName(´dataF´).AsDateTime:=StrToDate(´5/9/2005´); 
query1.Prepare; 
query1.open;


[b:078de504b3]O proximo passo é trocar os valores StrToDate(´5/8/2005´) e StrToDate(´5/9/2005´) pelas variáveis DataInicial e DataFinal[/b:078de504b3][/quote:078de504b3]

apareceu erro:
[b:078de504b3] Dataset Not in edit or insert mode[/b:078de504b3]


Responder

Gostei + 0

04/08/2005

Marco Salles

Código: query1.close; query1.sql.add(´Select *From Nome da tabela´) query1.sql.add(´Where Data <=:DataI´); query1.FieldByName(´dataI´).AsDateTime:=StrToDate(´5/8/2005´); query1.sql.add(´Where Data >=:DataF´); query1.FieldByName(´dataF´).AsDateTime:=StrToDate(´5/9/2005´); query1.Prepare; query1.open; O proximo passo é trocar os valores StrToDate(´5/8/2005´) e StrToDate(´5/9/2005´) pelas variáveis DataInicial e DataFinal


apareceu erro: Dataset Not in edit or insert mode


Junto com este código tem mais algum código :?: :?: :?:


Responder

Gostei + 0

04/08/2005

Vagner.oliveira

se por o comando bettwen no SQL será que não vai funcionar ?


Responder

Gostei + 0

04/08/2005

Vagner.oliveira

coloquei esse código na SQL e foi:
Select * From Tabela 
where datai <= ´7/4/2005´ and dataf >= ´8/4/2005´


só que a data está como [b:8221352b47]mm/dd/yyyy[/b:8221352b47] gostaria do contrário


Responder

Gostei + 0

04/08/2005

Vagner.oliveira

coloquei esse código na SQL e foi:
Select * From Tabela 
where datai <= ´7/4/2005´ and dataf >= ´8/4/2005´
só que a data está como [b:d12d36fdf7]mm/dd/yyyy[/b:d12d36fdf7] gostaria do contrário


Estou tendo dificuldade em pegar os dados do [b:d12d36fdf7]EncodeDate[/b:d12d36fdf7] e colocá-los na Query no formato dd/mm/yyyy


Responder

Gostei + 0

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

Aceitar