Avatar billede koden12 Nybegynder
22. februar 2004 - 00:30 Der er 7 kommentarer og
1 løsning

Inputbox ADO

Kan jeg "som i gamle dage" men denne gang i ADO og Delphi bruge en inputbox til at søge med i en access database ?
Hvordan vil det se ud ?

Sådan så Gamle dage ud : (før ADO)

>>>>>>>>>
procedure TForm1.BitBtn3Click(Sender: TObject);
var
navn:String;
begin

Tlf:=Inputbox('Søg', 'skriv et navn','');
table1.IndexFieldNames:='navn';
if not table1.FindKey([navn])then
messagedlg(navn + 'findes ikke!',mtinformation,
[mbOK],0);
>>>>>>>>>>>>
CA !

VH
koden12
Avatar billede hrc Mester
25. februar 2004 - 12:54 #1
Hvis du bruger ADO så har både TADOTable og TADODataSet Locate og Lookup:

procedure TfrmMain.Button1Click(Sender: TObject);
var
  sNavn : string;
begin
  sNavn := Inputbox('Søg', 'Skriv et navn:','');
  DM.ADODataSet.IndexFieldNames := 'Name';
  if DM.ADODataSet.Locate('Name',sNavn,[loCaseInsensitive]) then
    MessageDlg(DM.ADODataSet.FieldByName('Name').AsString,
              mtInformation,[mbOK],0);
end;

Det ér ligesom i "gamle dage", idet ADO-komponenterne nedarver de samme baseklasser som eks. BDE.
Avatar billede koden12 Nybegynder
25. februar 2004 - 13:04 #2
Utroligt , det er bare linje :
if DM.ADODataSet.Locate('Name',sNavn,[loCaseInsensitive]) then
Der har fået locate og LOCase osv.
Mange tak!
Send et svar

VH
koden12
Avatar billede koden12 Nybegynder
25. februar 2004 - 14:08 #3
procedure TForm1.Button2Click(Sender: TObject);

var
sNavn : string;
begin
sNavn := Inputbox('Søg', 'Skriv et navn:','');
ADODataSet1.IndexFieldNames := 'Navn';
if ADODataSet1.Locate('Navn',sNavn,[loCaseInsensitive]) then
MessageDlg(ADODataSet1.FieldByName('Navn').AsString,
mtInformation,[mbOK],0);

end;

Jeg har testet den og den finder godt nok ud af om navnet findes og melder OK hvis det gør, men den rykker ikke databasen hen til det navn ej heller nogen besked hvis det ikke findes..

VH
koden12
Avatar billede koden12 Nybegynder
25. februar 2004 - 14:18 #4
Jeg lavede det bare om til ADOTable1 så køre tabellen..
Men ikke noget "findes ikke" ... forsat..

VH
koden12
Avatar billede hrc Mester
25. februar 2004 - 15:27 #5
Koden12: Jeg testede det selv og min viste den rette record - ved ikke hvad der er forskelligt.
Avatar billede koden12 Nybegynder
25. februar 2004 - 16:13 #6
Nej det ved jeg heller ikke , men den virker fint med ADOTable : ) hos mig..
Kan du komme op med en ide om hvordan det skal se ud med "Findes ikke" når den ikke finder en der ser ens ud (ikke findes) ?
Jeg kan måske tolke lidt på den "gamel"..

VH
koden12
Avatar billede hrc Mester
26. februar 2004 - 11:24 #7
Sådan her?

procedure TfrmMain.Button1Click(Sender: TObject);
var
  sNavn : string;
begin
  sNavn := Inputbox('Søg', 'Skriv et navn:','');
  DM.ADODataSet.IndexFieldNames := 'Name'; // Necessary?
  if not DM.ADODataSet.Locate('Name',sNavn,[loCaseInsensitive]) then
    MessageDlg(sNavn + 'findes ikke!',mtInformation,[mbOK],0);
end;
Avatar billede koden12 Nybegynder
26. februar 2004 - 14:58 #8
Mange, mange tak...
Mit program er blevet ret flot.. Jeg forskede også en del også i Rave som rapport og det er faktisk også godt..
Så det viker bare... coll : )

VH
koden12
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