Hallo,
zuerst einmal:
Finger weg von
Paradox, falls du keinen Ärger beim Kunden haben willst.
Sch mal zum spass nach "Index out of range" in Google.
Das ist der am meisten auftretende Fehler.
Paradox funktioniert seit NT4 im Netz nicht mehr richtig.
Ich habe jahrelang damit gearbeitet,
nach dem Umstieg auf Firebird (jippiii
) gibt es (fast) keine
DB-Problem mehr.
Nun zum Thema.
Falls du ein TDBGrid verwenden willst,
packe zusätzlich ein TDataSource aufs Form.
Die Zuordnun ist
DBGrid.DataSource <- TDataSource.DataSet <- TQuery
Alle Abteilungen (auch die Hautpabteilung) stehen in einer eigenen Abteilung
mit Id (primary key), Name, Rechte usw.
Parameter theDepartmentId Integer
Delphi-Quellcode:
with Query do
begin
Close;
SQL.Clear;
SQL.Add('
Select * From DeineTabelle');
if not DepartmentHasAllAccessRights(DepartmentId)
then
begin
SQL.Add('
Where DepartmentId=:theDepartmentId');
ParamByName('
DepartmentId').AsInteger:= theDepartmentId;
end;
SQL.Add('
Order By EntryDate Desc');
Open;
// jetzt steht es im DBGrid
end;
Ich empfehle das Buch Datenbanken mit Delphi von Andres Kosch.
Heiko