Fórum Calculo do dia 5 de um mês a 5 do outro #290387
02/08/2005
0
:shock: :roll:
Vagner.oliveira
Curtir tópico
+ 0Posts
02/08/2005
Motta
Gostei + 0
02/08/2005
Marco Salles
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;
Gostei + 0
03/08/2005
Vagner.oliveira
Gostei + 0
03/08/2005
Vagner.oliveira
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.
Gostei + 0
03/08/2005
Marco Salles
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
Amigo , inclua este campo no fields Editor da query
Gostei + 0
03/08/2005
Vagner.oliveira
Gostei + 0
03/08/2005
Vagner.oliveira
:oops: :oops: opa to fumado, achei o troço :oops: :oops:
Gostei + 0
03/08/2005
Marco Salles
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
Gostei + 0
03/08/2005
Vagner.oliveira
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]
Gostei + 0
03/08/2005
Marco Salles
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]
Gostei + 0
04/08/2005
Vagner.oliveira
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]
Gostei + 0
04/08/2005
Marco Salles
Junto com este código tem mais algum código :?: :?: :?:
Gostei + 0
04/08/2005
Vagner.oliveira
Gostei + 0
04/08/2005
Vagner.oliveira
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
Gostei + 0
04/08/2005
Vagner.oliveira
Select * From Tabela where datai <= ´7/4/2005´ and dataf >= ´8/4/2005´
Estou tendo dificuldade em pegar os dados do [b:d12d36fdf7]EncodeDate[/b:d12d36fdf7] e colocá-los na Query no formato dd/mm/yyyy
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)