Greed Postado Julho 17, 2008 Denunciar Share Postado Julho 17, 2008 (editado) Bom dia galera,Alguém sabe como eu faço para filtrar uma Table da palheta BDE por ordenação alfabética de um camopo?Se fosse numa Query, eu faria ORDER BY SiglaMas como eu faço numa Table?Tem que ser numa table infelizmente :wacko: Tem a propriedadt Filter e o evento OnFiltrRecord, mas eu não sei como fazer em nenhum deles!Agradeceria uma ajuda!Grato Editado Julho 24, 2008 por Greed Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Duduh_Capixaba Postado Julho 17, 2008 Denunciar Share Postado Julho 17, 2008 Propriedade "IndexFieldNames" da tabela. Basta digitar o nome do campo que você deseja ordenar. Se você desejar usar mais de um campo como ordenação, por exemplo, primeiro campo: NOME, segundo campo: DATA_NASC, basta separar o nome dos campos por um ";" (ponto-e-vírgula, sem as aspas). Ficaria: NOME;DATA_NASC. Tenta aí e dpois posta. Abraço! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Greed Postado Julho 17, 2008 Autor Denunciar Share Postado Julho 17, 2008 Ele está dando muito bug assim!Não tem outra maneira? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Duduh_Capixaba Postado Julho 17, 2008 Denunciar Share Postado Julho 17, 2008 (editado) Cara, eu sempre fiz meus programas assim. Você poderia descrever o erro que está acontecendo? Deve ser algum detalhe a acertar.Antes, faça um teste:- Comece uma nova aplicação do zero;- Adicione um TDatabase, um TTable, um TDataSource, um TDBGrid e dois TButton;- Crie a conexão com seu banco, ligue o TTable ao TDataBase, o TDataSource ao TTable e o TDBGrid ao TDataSource;- Configure seu TTable com uma tabela qualquer e sete a propriedade "Active" como "True";- No evento "OnClick" do TButton1 coloque o seguinte código:procedure TForm1.Button1Click(Sender: TObject); begin Table1.IndexFieldNames := 'CAMPO_1'; end; - No evento "OnClick" do TButton2 coloque o seguinte código: procedure TForm1.Button1Click(Sender: TObject); begin Table1.IndexFieldNames := 'CAMPO_2'; end;Onde "CAMPO_1" e "CAMPO_2" são os campos que você quer ordenar, e veja o que acontece. Abraço! Editado Julho 17, 2008 por Duduh_Capixaba Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Greed Postado Julho 19, 2008 Autor Denunciar Share Postado Julho 19, 2008 Eu já tentei isso!Normal da esses bugs no paradox.Eu vou usar mesmo o query, mas ele também está bugado!Ele não salva as alterações que ue faço. Elas aparecem no Grid, mas quando eu fecho a janela com o DBGrid ou do um select*from ele some tudo o que eu fiz!Se eu inclui 3 registros, ele some, se eu apaguei 2 registros, eles voltam!Como eu faço pra forçar o paradox a salvar?Tem um comando, mas eu não me lembro, se você puder me ajduar serei grato!ps: Estou ligando o SQLUpdate no Query! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Bettega Postado Julho 20, 2008 Denunciar Share Postado Julho 20, 2008 Para que a dica acima funcione, os campos devem ter sido previamente indexados.Para isso, faça o seguinte, antes de abrir o banco de dados. with Table1 do begin Exclusive := True ; Open ; AddIndex ( 'index_01', 'CAMPO_1' , [ixPrimary] ) ; AddIndex ( 'index_02', 'CAMPO_2' , [ixCaseInsensitive] ) ; Close ; end ;Lembrando que o CAMPO_1 deve ser o primeiro campo do seu banco de dados, e não pode ter valores repetidos.Caso isso não possa ocorrer, crie um campo auto incremento como primeiro campo do seu banco. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Greed Postado Julho 20, 2008 Autor Denunciar Share Postado Julho 20, 2008 Não funcionou!Ele diz quer a tabela está ocupada (Table is busy) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 José Luiz Postado Julho 20, 2008 Denunciar Share Postado Julho 20, 2008 Verifique se a propriedade Active da Table não está True.Se estiver, coloque Active := False ( ao menos na hora de indexar os arquivos, pois isso só é necessário uma vez )Você pode abrir a Table no OnShow do seu formulário principal.Table1.Open ;Espero ter ajudado.José Luiz. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Greed Postado Julho 23, 2008 Autor Denunciar Share Postado Julho 23, 2008 Eu consegui fazer uns austes técnicos e funcionou legalO que fiz:COm o Query eu pesquiso e ordeno correto?Com o Table eu cadastro, apago, edit ...Então eu fiz uma brincadeira entre dois Grids, um ligado ao table e o outro ligado ao queryquando o grid do query é clicado, aparece o grid do table filtrado com apenas aquele registro clicadoAssim o usuario pode editar e inserir novos registros e ainda ver em ordem alfabetica :blink: Obrigado a todos pela ajuda :rolleyes: Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Greed
Bom dia galera,
Alguém sabe como eu faço para filtrar uma Table da palheta BDE por ordenação alfabética de um camopo?
Se fosse numa Query, eu faria ORDER BY Sigla
Mas como eu faço numa Table?
Tem que ser numa table infelizmente :wacko:
Tem a propriedadt Filter e o evento OnFiltrRecord, mas eu não sei como fazer em nenhum deles!
Agradeceria uma ajuda!
Grato
Editado por GreedLink para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.