indeksowanie

0

Czy ktoś może mi pomóc.

Jak z poziomu kodu poindeksować tabelę TTable (Paradoks) .db

Chodzi o to aby po dopisaniu rekordu został on umieszczony na swoim miejscu

0

Poniżej masz kod do indeksowania, jeśli chodzi o ustawienie rekordu na właściwym miejscu to nie trzeba za kazdym razem indeksować tylko otwierać tabele z indeksem.

[code]procedure indeksuj(Sender: TObject);
var
F : File of Byte;
nazwapliku: string;
const value : Byte = 0;
begin
//== indeksowanie i zerowanie bitu

if Table2.Active= True then Table2.Active:= False;

nazwapliku:='c:\dbf\snkf.dbf';

if nazwapliku''then
begin
AssignFile(F, nazwapliku);
Reset(F);
Seek(F,28);
Write(F, value);
CloseFile(F);

if FileExists('c:\dbf\snkf.mdx') then DeleteFile('c:\dbf\snkf.mdx');
//Application.ProcessMessages;
Table2.AddIndex('snkf','f_nrrej',[]);
showmessage('Zerowanie i indeksowanie zakończone sukcesem');
[/code]

0

A dla bazy Paradox :

procedure TForm1.Button1Click(Sender: TObject);
begin
Table.Close;
Table.Exclusive := True;
Table.Open;
DbiRegenIndexes(Table.Handle);
Table.Close;
end;

0

Witam!

Przy okazji tematu indeksowania mam parę pytań co do tego zagadnienia. Znalazłem ciekawy opis indeksowania na stronie http://www.softsale.com.pl/porady/r004.htm tyle że jakoś mi to nie zaskakuje. Mam tak jak tam jest w opisie komponety DataBase, Table, ListBox , ProgressBar oraz dwa przyciski Start i Koniec na formularzu. DataBase oraz TTable mają taką samą nazwę w zakładce DatabaseName.

Nie udaje mi się wyświetlić na TListBox dostepnych nazw baz danych z Aliasu stosując TSesion jak tam było opisane. Jeśli raczył by mi ktoś dokładnie wyjaśnić jak wykonać indeksowanie baz z możliwością ich wyboru i wyświetleniu postępu procesu to byłbym bardzo wdzięczny za jakieś informacje.

Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1