Fórum Registros em Ordem Crescente (Navegando entre os Registros) #616143
29/06/2021
0
Olá mestre da programação em Delphi.
Tenho uma tabela no meu banco LF_CONCURSOS_CAB com os seguintes campos:
No meu projeto adicionei 4 botões para servir de navegador entre os registros.
Coloquei as linhas de código em cada um deles:
|<
<<
>>
>|
Mais de nada adiantou. La no banco esta na ordem direitinho do código 1 ate 58
E quando eu clico no botão >> ele começa do código 5, sendo que era pra começar do código 1. Abaixo vou colocar a ordem como esta os
código a cada click no botão:
5 > 7 > 11 > 12 > 13 > 14 > 15 > 16 > 17 > 1 > 2 > 3 > 18 > 19 > ...58
Esta começando no 5 e após alguns click ele pega o 1, 2, 3 e volta na sequencia. Coloquei aquele SLQ mais não serviu de nada.
Coloquei um DBNavigator e ate com ele fica na mesma sequencia.
O mesmo SQL coloquei no onShow do Form e nada também.
O que pode ser feito para deixar esse código em ordem crescente ai clicar nos botões >> >| e decrescente ao clicar nos botões |< <<
Tenho uma tabela no meu banco LF_CONCURSOS_CAB com os seguintes campos:
ID_CONCURSOS_CAB INTEGER NOT NULL,
NUM_CONCURSO INTEGER,
DATA_CONCURSO DATE,
DATA_CADASTRO DATE,
DATA_EXCLUIDO DATE,
ATIVO CHAR(1)No meu projeto adicionei 4 botões para servir de navegador entre os registros.
Coloquei as linhas de código em cada um deles:
|<
dtp_Data_Concuso.DateTime := dados.fdq_LF_CabecalhoDATA_CONCURSO.AsDateTime;
if dados.fdq_LF_Cabecalho.Active = False then
begin
dados.fdq_LF_Cabecalho.Active := True;
end;
dados.fdq_LF_Aux.Close;
dados.fdq_LF_Aux.SQL.Clear;
dados.fdq_LF_Aux.SQL.Add('SELECT * ');
dados.fdq_LF_Aux.SQL.Add('FROM LF_CONCURSOS_CAB ');
dados.fdq_LF_Aux.SQL.Add('ORDER BY id_concursos_cab ');
dados.fdq_LF_Aux.Open();
spb_Pesquisa_Concurso1.Visible := True;
spb_Pesquisa_Concurso2.Visible := False;
dados.fdq_LF_Cabecalho.Filtered := False;
dados.fdq_LF_Cabecalho.First;
pnl_Fundo_Botoes_Navegadores_Pesquisa_Concurso.Enabled := False;
pnl_Fundo_Botoes_Navegadores_Pesquisa_Concurso.Visible := False;
spb_Pesquisa_Concurso1.Spacing := 4;
pnl_Gravar.Enabled := False;
spb_Gravar.Font.Color := clSilver;
spb_Gravar.Font.Style := [];
dados.Procedure_Totaliza_LF;<<
dtp_Data_Concuso.DateTime := dados.fdq_LF_CabecalhoDATA_CONCURSO.AsDateTime;
if dados.fdq_LF_Cabecalho.Active = False then
begin
dados.fdq_LF_Cabecalho.Active := True;
end;
dados.fdq_LF_Aux.Close;
dados.fdq_LF_Aux.SQL.Clear;
dados.fdq_LF_Aux.SQL.Add('SELECT * ');
dados.fdq_LF_Aux.SQL.Add('FROM LF_CONCURSOS_CAB ');
dados.fdq_LF_Aux.SQL.Add('ORDER BY id_concursos_cab ');
dados.fdq_LF_Aux.Open();
spb_Pesquisa_Concurso1.Visible := True;
spb_Pesquisa_Concurso2.Visible := False;
dados.fdq_LF_Cabecalho.Filtered := False;
dados.fdq_LF_Cabecalho.Prior;
pnl_Fundo_Botoes_Navegadores_Pesquisa_Concurso.Enabled := False;
pnl_Fundo_Botoes_Navegadores_Pesquisa_Concurso.Visible := False;
spb_Pesquisa_Concurso1.Spacing := 4;
pnl_Gravar.Enabled := False;
spb_Gravar.Font.Color := clSilver;
spb_Gravar.Font.Style := [];
dados.Procedure_Totaliza_LF;>>
dtp_Data_Concuso.DateTime := dados.fdq_LF_CabecalhoDATA_CONCURSO.AsDateTime;
if dados.fdq_LF_Cabecalho.Active = False then
begin
dados.fdq_LF_Cabecalho.Active := True;
end;
dados.fdq_LF_Aux.Close;
dados.fdq_LF_Aux.SQL.Clear;
dados.fdq_LF_Aux.SQL.Add('SELECT * ');
dados.fdq_LF_Aux.SQL.Add('FROM LF_CONCURSOS_CAB ');
dados.fdq_LF_Aux.SQL.Add('ORDER BY id_concursos_cab ');
dados.fdq_LF_Aux.Open();
spb_Pesquisa_Concurso1.Visible := True;
spb_Pesquisa_Concurso2.Visible := False;
dados.fdq_LF_Cabecalho.Filtered := False;
dados.fdq_LF_Cabecalho.Next;
pnl_Fundo_Botoes_Navegadores_Pesquisa_Concurso.Enabled := False;
pnl_Fundo_Botoes_Navegadores_Pesquisa_Concurso.Visible := False;
spb_Pesquisa_Concurso1.Spacing := 4;
pnl_Gravar.Enabled := False;
spb_Gravar.Font.Color := clSilver;
spb_Gravar.Font.Style := [];
dados.Procedure_Totaliza_LF;>|
dtp_Data_Concuso.DateTime := dados.fdq_LF_CabecalhoDATA_CONCURSO.AsDateTime;
if dados.fdq_LF_Cabecalho.Active = False then
begin
dados.fdq_LF_Cabecalho.Active := True;
end;
dados.fdq_LF_Aux.Close;
dados.fdq_LF_Aux.SQL.Clear;
dados.fdq_LF_Aux.SQL.Add('SELECT * ');
dados.fdq_LF_Aux.SQL.Add('FROM LF_CONCURSOS_CAB ');
dados.fdq_LF_Aux.SQL.Add('ORDER BY id_concursos_cab ');
dados.fdq_LF_Aux.Open();
spb_Pesquisa_Concurso1.Visible := True;
spb_Pesquisa_Concurso2.Visible := False;
dados.fdq_LF_Cabecalho.Filtered := False;
dados.fdq_LF_Cabecalho.Last;
pnl_Fundo_Botoes_Navegadores_Pesquisa_Concurso.Enabled := False;
pnl_Fundo_Botoes_Navegadores_Pesquisa_Concurso.Visible := False;
spb_Pesquisa_Concurso1.Spacing := 4;
pnl_Gravar.Enabled := False;
spb_Gravar.Font.Color := clSilver;
spb_Gravar.Font.Style := [];
dados.Procedure_Totaliza_LF;Mais de nada adiantou. La no banco esta na ordem direitinho do código 1 ate 58
E quando eu clico no botão >> ele começa do código 5, sendo que era pra começar do código 1. Abaixo vou colocar a ordem como esta os
código a cada click no botão:
5 > 7 > 11 > 12 > 13 > 14 > 15 > 16 > 17 > 1 > 2 > 3 > 18 > 19 > ...58
Esta começando no 5 e após alguns click ele pega o 1, 2, 3 e volta na sequencia. Coloquei aquele SLQ mais não serviu de nada.
Coloquei um DBNavigator e ate com ele fica na mesma sequencia.
O mesmo SQL coloquei no onShow do Form e nada também.
O que pode ser feito para deixar esse código em ordem crescente ai clicar nos botões >> >| e decrescente ao clicar nos botões |< <<
Rubens Pena
Curtir tópico
+ 0
Responder
Post mais votado
30/06/2021
abra a tabela em algum lugar fora dos botões (os botões são somente para navegação, certo?)
botões:
<<
<
>
>>
Função TrataComponentes:
eu não entendi para que serve o dataset dados.fdq_LF_Aux
if not dados.fdq_LF_Cabecalho.Active then dados.fdq_LF_Cabecalho.Open; dados.fdq_LF_Cabecalho.Filtered := False; dados.fdq_LF_Cabecalho.First;
botões:
<<
dados.fdq_LF_Cabecalho.First; TrataComponentes;
<
dados.fdq_LF_Cabecalho.Prior; TrataComponentes;
>
dados.fdq_LF_Cabecalho.Next; TrataComponentes;
>>
dados.fdq_LF_Cabecalho.Last; TrataComponentes;
Função TrataComponentes:
spb_Pesquisa_Concurso1.Visible := True; spb_Pesquisa_Concurso2.Visible := False; pnl_Fundo_Botoes_Navegadores_Pesquisa_Concurso.Enabled := False; pnl_Fundo_Botoes_Navegadores_Pesquisa_Concurso.Visible := False; spb_Pesquisa_Concurso1.Spacing := 4; pnl_Gravar.Enabled := False; spb_Gravar.Font.Color := clSilver; spb_Gravar.Font.Style := []; dtp_Data_Concuso.DateTime := dados.fdq_LF_CabecalhoDATA_CONCURSO.AsDateTime; dados.Procedure_Totaliza_LF;
eu não entendi para que serve o dataset dados.fdq_LF_Aux
Emerson Nascimento
Responder
Gostei + 1
Mais Posts
01/07/2021
Rubens Pena
abra a tabela em algum lugar fora dos botões (os botões são somente para navegação, certo?)
botões:
<<
<
>
>>
Função TrataComponentes:
eu não entendi para que serve o dataset dados.fdq_LF_Aux
if not dados.fdq_LF_Cabecalho.Active then dados.fdq_LF_Cabecalho.Open; dados.fdq_LF_Cabecalho.Filtered := False; dados.fdq_LF_Cabecalho.First;
botões:
<<
dados.fdq_LF_Cabecalho.First; TrataComponentes;
<
dados.fdq_LF_Cabecalho.Prior; TrataComponentes;
>
dados.fdq_LF_Cabecalho.Next; TrataComponentes;
>>
dados.fdq_LF_Cabecalho.Last; TrataComponentes;
Função TrataComponentes:
spb_Pesquisa_Concurso1.Visible := True; spb_Pesquisa_Concurso2.Visible := False; pnl_Fundo_Botoes_Navegadores_Pesquisa_Concurso.Enabled := False; pnl_Fundo_Botoes_Navegadores_Pesquisa_Concurso.Visible := False; spb_Pesquisa_Concurso1.Spacing := 4; pnl_Gravar.Enabled := False; spb_Gravar.Font.Color := clSilver; spb_Gravar.Font.Style := []; dtp_Data_Concuso.DateTime := dados.fdq_LF_CabecalhoDATA_CONCURSO.AsDateTime; dados.Procedure_Totaliza_LF;
eu não entendi para que serve o dataset dados.fdq_LF_Aux
Obrigado mestre.
O Dataset dados.fdq_LF_Aux era eu tentando fazer com que ele colocasse os códigos por ordem crescente. Porque eu fazia o teste lá no banco usando SQL e ele me retornava tudo em ordem crescente como eu pedia no comando, ai pensei que fazendo assim ele me retornava também. Mais mestre eu vou mudar a minha logica nessa tela, vou criar uma telinha de pesquisa e vou remover o navegador, pois vi que ao abri o form quando tiver muitos registros vai pesar, então eu abro o form com a tabela fechada e o concurso que eu quiser ver eu faço a pesquisa e ele me abri o form somente com aquela pesquisa.
mais mesmo assim grato por sua atenção comigo.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)