filtrar datas
21/02/2003
0
ola amigos, gostaria de uma ajuda se possivel, tenho dois campos em minha TBEmp (dataInicio e DataFim), como faço para quando o usuario entrar com uma determinada data o sistema faça uma comparacao (se data solicitada >= data inicio and data solicitada <= data fim) entao filtrar minha tabela e eu possa imprimir?
PS.nao sei usar ainda SQL.
Obragado pela força
JLM
PS.nao sei usar ainda SQL.
Obragado pela força
JLM
Anonymous
Curtir tópico
+ 0
Responder
Posts
21/02/2003
Anonymous
POR EXEMPLO, EM UM BANCO USANDO O COMPONENTE TABLE SEM USAR SQL, VOCE PODERIA PROCEDER DA SEGUINTE MANEIRA.
TABLE1.FILTERED := FALSE; //MOSTRAR TODOS OS REGISTROS
TABLE1.FILTER := ´ DATA >= ´´´+EDIT1.TEXT+´´´ ´; //PARA FILTRAR
TABLE1.FILTERED:=TRUE; //PARA ATUALIZAR A TABELA
OBS: VC TEM QUE CRIAR OBJETOS DE CAMPO, PARA FAZER ISSO VC DA UM DUPLO CLICK NO SEU COMPONENTE TABLE CLIQUE COM O BOTAO DIREITO NA CAIXINHA QUE VAI ABRIR E SELECIONE A OPCAO ´ADD ALL FIELDS´
ESPERO TER AJUDADO
TABLE1.FILTERED := FALSE; //MOSTRAR TODOS OS REGISTROS
TABLE1.FILTER := ´ DATA >= ´´´+EDIT1.TEXT+´´´ ´; //PARA FILTRAR
TABLE1.FILTERED:=TRUE; //PARA ATUALIZAR A TABELA
OBS: VC TEM QUE CRIAR OBJETOS DE CAMPO, PARA FAZER ISSO VC DA UM DUPLO CLICK NO SEU COMPONENTE TABLE CLIQUE COM O BOTAO DIREITO NA CAIXINHA QUE VAI ABRIR E SELECIONE A OPCAO ´ADD ALL FIELDS´
ESPERO TER AJUDADO
Responder
21/02/2003
Aroldo Zanela
[quote:31ab898150=´Joao Luiz´]ola amigos, gostaria de uma ajuda se possivel, tenho dois campos em minha TBEmp (dataInicio e DataFim), como faço para quando o usuario entrar com uma determinada data o sistema faça uma comparacao (se data solicitada >= data inicio and data solicitada <= data fim) entao filtrar minha tabela e eu possa imprimir?
PS.nao sei usar ainda SQL.
Obragado pela força
JLM[/quote:31ab898150]
Coloque um componente Query no formulário;
Vamos usar o alias DBDEMOS na propriedade DatabaseName;
Na propriedade [b:31ab898150]SQL[/b:31ab898150], escreva algo como:
Na propriedade [b:31ab898150]Params[/b:31ab898150] clique nos ...
Os parâmetros INICIO e TERMINO estarão lá. Selecione os dois campos e mude as propriedades: DataType -> ftDate e ParamType -> ptInput
Coloque um Button, ema dbgrid e dois DateTimePickers
No click do button, adicione o seguinte:
Ou então, marque o código abaixo e copie para o clipboard e coloque um formulário apenas e pressione CTRL V
PS.nao sei usar ainda SQL.
Obragado pela força
JLM[/quote:31ab898150]
Coloque um componente Query no formulário;
Vamos usar o alias DBDEMOS na propriedade DatabaseName;
Na propriedade [b:31ab898150]SQL[/b:31ab898150], escreva algo como:
SELECT LAST_NAME, FIRST_NAME, ACCT_NBR, DATE_OPEN FROM Clients WHERE DATE_OPEN BETWEEN :INICIO AND :TERMINO
Na propriedade [b:31ab898150]Params[/b:31ab898150] clique nos ...
Os parâmetros INICIO e TERMINO estarão lá. Selecione os dois campos e mude as propriedades: DataType -> ftDate e ParamType -> ptInput
Coloque um Button, ema dbgrid e dois DateTimePickers
No click do button, adicione o seguinte:
Query1.Close; Query1.ParamByName(´INICIO´).AsDate:= DateTimePicker1.Date; Query1.ParamByName(´TERMINO´).AsDate:= DateTimePicker2.Date; Query1.Open;
Ou então, marque o código abaixo e copie para o clipboard e coloque um formulário apenas e pressione CTRL V
object DateTimePicker1: TDateTimePicker Left = 34 Top = 116 Width = 186 Height = 21 CalAlignment = dtaLeft Date = 37673.7600429398 Time = 37673.7600429398 DateFormat = dfShort DateMode = dmComboBox Kind = dtkDate ParseInput = False TabOrder = 0 end object DateTimePicker2: TDateTimePicker Left = 32 Top = 166 Width = 186 Height = 21 CalAlignment = dtaLeft Date = 37673.7600810185 Time = 37673.7600810185 DateFormat = dfShort DateMode = dmComboBox Kind = dtkDate ParseInput = False TabOrder = 1 end object BitBtn1: TBitBtn Left = 44 Top = 46 Width = 75 Height = 25 Caption = ´BitBtn1´ TabOrder = 2 OnClick = BitBtn1Click end object DBGrid1: TDBGrid Left = 34 Top = 206 Width = 487 Height = 120 DataSource = DataSource1 TabOrder = 3 TitleFont.Charset = DEFAULT_CHARSET TitleFont.Color = clWindowText TitleFont.Height = -11 TitleFont.Name = ´MS Sans Serif´ TitleFont.Style = [] end object Query1: TQuery DatabaseName = ´DBDEMOS´ SQL.Strings = ( ´SELECT LAST_NAME, FIRST_NAME, ACCT_NBR, DATE_OPEN´ ´FROM Clients´ ´WHERE DATE_OPEN BETWEEN :INICIO AND :TERMINO´) Left = 134 Top = 48 ParamData = < item DataType = ftDate Name = ´INICIO´ ParamType = ptInput end item DataType = ftDate Name = ´TERMINO´ ParamType = ptInput end> end object DataSource1: TDataSource DataSet = Query1 Left = 214 Top = 56 end
Responder
Clique aqui para fazer login e interagir na Comunidade :)