webForumDet fria alternativet

Databasfråga i Delphi

Programmeringur Programmering - Övrigt

3 svar · 356 visningar · startad av urban_hahne

Medlem sedan maj 2003153 inlägg
Frågan#1

Hej. Jag vill leta fram ett antal poster från ett reg. i access. Registret inehåller ca 30tusen poster så jag vill inte "snurra" igenom för att hitta de poster jag vill ha ut.
Jag försöker använda gotokey men problemet är att gotokey alltid går till första träffen vid varje ny sökning. Jag har försökt att sätta bookmark vid första träffen och sedan gå dit innan nästa gotokey men sökningen startar i alla fall från början på reg.
Hur gör man.

procedure TTidForm.SokArbTidClick(Sender: TObject);
var found:boolean;
datum:string;
SavePlace: TBookmark;
begin
clearStringBox;
with DataModule1.stampTidTable do
begin
//leta fram 2 stämplingar på detta anstNr och datum;
Datum:=SelectForm.nosteckOnDate(DatumEdit.text);
Active:=true;
First;
DisableControls;
EditKey;
FieldByName('X1EMNO').AsString:=SelectForm.anstNrTemp;
FieldByName('X1DTSC').AsString:=Datum;
GotoKey;
SavePlace:=GetBookmark;
TidString.cells[0,1]:=DataModule1.stampTidTableX1DTSC.AsString;
TidString.cells[1,1]:=DataModule1.stampTidTableX1CTME.AsString;
TidString.cells[2,1]:=DataModule1.stampTidTableX1TTTPE.AsString;
TidString.cells[3,1]:=DataModule1.stampTidTableX1FRTM.AsString;
TidString.cells[4,1]:=DataModule1.stampTidTableX1TOTM.AsString;

  GotoBookmark(SavePlace);
  Next;
  GotoKey;
  TidString.cells\[0,2\]:=DataModule1.stampTidTableX1DTSC.AsString;
  TidString.cells\[1,2\]:=DataModule1.stampTidTableX1CTME.AsString;
  TidString.cells\[2,2\]:=DataModule1.stampTidTableX1TTTPE.AsString;
  TidString.cells\[3,2\]:=DataModule1.stampTidTableX1FRTM.AsString;
  TidString.cells\[4,2\]:=DataModule1.stampTidTableX1TOTM.AsString;
  EnableControls;
end;

end;

Medlem sedan juli 200412 913 inlägg
#2

Kan du inte använda GotoNearest för att hoppa vidare? Har ingen aning om just det där, men jag kollade lite i D7 hjälpen...

Medlem sedan maj 2003153 inlägg
#3

Nop. GotoNearest har samma effekt. dvs den verkar alltid sökar från början. GotoNearest betyder att den söker efter en träff som är lika eller nästan lika med den sökta frasen.
Tack i alla fall. Hoppas någon annan kan komma med fler förslag.

Medlem sedan nov. 2003310 inlägg
#4

Det enklaste är väl att använda en TQuery och få ut posterna med hjälp av sql.

132 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)