Goed komt ie.
IntZoekWaarde is een integer die de waarde bevat waarop gezocht moet worden in "Veld1". "Veld1" is dus een integer.
StrZoekWaarde is een string die de waarde bevat waarop gezocht moet worden in "Veld2". "Veld2" is dus een string.
De actieve index van Table1 ligt op "Veld1" en "Veld2"
GotoKey
Code:
with Table1 do begin
SetKey; // of eventueel EditKey als dit een tweede aanroep is!
FieldByName('Veld1').AsInteger := IntZoekWaarde;
FieldByName('Veld2').AsString := StrZoekWaarde;
if GotoKey then begin
ShowMessage('Record gevonden!' + #10#13 +
'Dit is nu het actieve record!'
end else begin
ShowMessage('Record niet gevonden' + #10#13 +
'Actieve record is dus niet gewijzigd!');
end;
end;
GotoNearest
Code:
with Table1 do begin
SetKey; // of eventueel EditKey als dit een tweede aanroep is!
FieldByName('Veld1').AsInteger := IntZoekWaarde;
FieldByName('Veld2').AsString := StrZoekWaarde;
GotoNearest;
if (FieldByName('Veld1').AsInteger = IntZoekWaarde)
and (FieldByName('Veld2').AsString = StrZoekWaarde) then begin
ShowMessage('Record gevonden!' + #10#13 +
'Dit is nu het actieve record!'
end else begin
ShowMessage("Record niet gevonden!' + #10#13 +
'Het actieve record is echter wel gewijzig!');
end;
end;
FindKey
Code:
with Table1 do begin
if FindKey([IntToStr(IntZoekWaarde), StrZoekWaarde]) then begin
ShowMessage('Record gevonden!' + #10#13 +
'Dit is nu het actieve record!'
end else begin
ShowMessage('Record niet gevonden' + #10#13 +
'Actieve record is dus niet gewijzigd!');
end;
end;
FindNearest
Code:
with Table1 do begin
FindNearest([IntToStr(IntZoekWaarde), StrZoekWaarde]);
if (FieldByName('Veld1').AsInteger = IntZoekWaarde)
and (FieldByName('Veld2').AsString = StrZoekWaarde) then begin
ShowMessage('Record gevonden!' + #10#13 +
'Dit is nu het actieve record!');
end else begin
ShowMessage('Record niet gevonden!' + #10#13 +
'Het actieve record is echter wel gewijzig!');
end;
end;
Locate
Bij het gebruik van Locate maakt het niet uit wat de actieve index is.
Als er een index is op de gebruikte velden, dan zal locate deze index automatisch gebruiken!
Code:
with Table1 do begin
if Locate('Veld1;Veld2',
VarArrayOf([IntToStr(IntZoekWaarde), StrZoekWaarde]),
loCaseInsensitive) then begin
ShowMessage('Record gevonden!' + #10#13 +
'Dit is nu het actieve record!');
end else begin
ShowMessage('Record niet gevonden' + #10#13 +
'Actieve record is dus niet gewijzigd!');
end ;
end;
He, he. Met onderbrekingen heeft dit berichtje meer dan een uur gekost! Dat krijg je als je kleine kinderen hebt! Ik hoop dat dit een en ander verduidelijkt!
Que? Waarom werken de Italic-tags niet?
Bookmarks