Avatar billede fun22 Nybegynder
05. september 2002 - 08:30 Der er 7 kommentarer og
1 løsning

Sort by...

Hej

Jeg skal bruge en funktion som gør at når man trykker på fks. navn i en dbgrid så sortere den det efter navn. Jeg bruger en ado forbindelse. Jeg vil gerne have en ste - by - step guide, og hvis jeg skal bruge en anden forbindelse så vil jeg godt, det men ado er det eneste jeg selv han finde ud af.
Avatar billede morten_s Nybegynder
05. september 2002 - 10:23 #1
Bruger du Querys ellet Tabel component ?

Hvis du bruger querrys så

with myADOQuerry do
begin
  Close;
  SQL.Text:= 'SELECT * FROM DinTabel ORDER BY navn
  Open;
end;

Hvis du bruger Tabel skal du sætte dit index til navn, det virker kun hvis den database du interfacer til har funktionen
Avatar billede fun22 Nybegynder
05. september 2002 - 10:52 #2
Jeg bruger tabel, det er en access database. hvordan gir jeg den den funktion?
Avatar billede morten_s Nybegynder
05. september 2002 - 15:27 #3
Jeg har ikke den store erfaring med Access databasen, men har du prøvet at sætte indexFieldName ?

with myTable do
begin
  close;
  IndexFieldName:= 'navn';
  open;
end;

Hvis funktionen er supporteret vil tabelen bliver sorteret efter kolonen med dit navn, hvis det ikke sorteres må du anvende et Query som jeg har vist dig ovenover.
Avatar billede fun22 Nybegynder
05. september 2002 - 15:48 #4
Det virker nu. Hvis du vil kan du så ikke lige svare på hvordan man så laver en søge funktion. I ADO. Den skal bare kunne søge i alle kollonner. Du får 30 point mere for den funktion også.

/fun22
Avatar billede cms Nybegynder
05. september 2002 - 17:12 #5
så skal du bruge en Query med SQL fx sådan:

SQL.Text := 'SELECT * FROM DinTabel WHERE felt1 LIKE ''%'+SearchText+'%'' OR felt2 LIKE ''%'+SearchText+'%'' OR felt3 LIKE ''%'+SearchText+'%'' ORDER BY navn'
Avatar billede fun22 Nybegynder
05. september 2002 - 18:28 #6
Kan jeg få den forklaret lidt nærmere?
Avatar billede fun22 Nybegynder
05. september 2002 - 18:29 #7
Hvis jeg nu har et edit felt og en knap.
Avatar billede dkn Nybegynder
06. september 2002 - 09:18 #8
Normalt hvis jeg laver en søgning gidder jeg ikke at lukke databases og lave ny command string.

Så jeg plejer at bruge:

var
  i: integer;
begin
  D1.CommandText := 'SELECT * FROM Virksomheder';
  D1.Open;
  d1.First;
  for I := 0 to d1.RecordCount do
  begin
    if pos('Searchtext', d1.FieldByName('ID').AsString) <>0 then
      Showmessage('Found in row: '+inttostr(I));
  d1.Next;
  end;
end;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester