---
title: "Databasfråga i Delphi"
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/143268-databasfråga-i-delphi"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "urban_hahne"
published: "2006-03-02T09:33:15.000Z"
updated: "2006-03-07T07:13:35.000Z"
replies: 3
views: 365
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/programmering/143268-databasfråga-i-delphi"
---

# Databasfråga i Delphi

## #1 — urban_hahne, 2006-03-02T09:33Z

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;

Permalänk: https://www.webforum.nu/p/143268

## #2 — Danny, 2006-03-02T16:17Z

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...

Permalänk: https://www.webforum.nu/p/1776271

## #3 — urban_hahne, 2006-03-06T09:11Z

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.

Permalänk: https://www.webforum.nu/p/1777417

## #4 — Hardrocker, 2006-03-07T07:13Z

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

Permalänk: https://www.webforum.nu/p/1777833

---

Tråden på webben: https://www.webforum.nu/amne/programmering/143268-databasfråga-i-delphi
