Hmm..
Dies ist aber nur möglich, wenn der "
SQL-Server" Zugriff auf das Verzeichnis hat und er muss dann den Pfad zur Datei nicht aus Anwendungssicht, sondern aus
SQL-Server-Sicht im
Query angeben.
Somit wird dies wohl nur funktionieren, wenn die Dateien eventuell auch direkt auf dem gleichen Server liegen, wie der
SQL-Server selber, denn dieser läuft meistens als LocalSystem, ohne Zugriff auf (Domain-) Netzwerklaufwerke.
Hier würde wohl, wie von Schokohase erwähnt, besser mit einem CalcField und der Prüfung im OnCalcFields zurückgegriffen werden, da dieses dann aus Sicht und mit dessen Zugriffsrechten der Applikation erfolgt.
Die Lösung mit Edit/Post ist zu vermeiden, da hier direkt eventuell Einträge auf der Datenbank geändert würden, da hierzu ein
DB-Feld benötigt wird.
Einfach im OnCalcField:
Delphi-Quellcode:
procedure TForm1.dbquSQLCalcFields(DataSet: TDataSet);
begin
DataSet.FieldByName('FileExists').AsString :=
BoolToStr(FileExists(FFilePath + DataSet.FieldByName('FileName').AsString), True);
end;
Dann auf dem
Query z.B. den Filter "FileExists <> 'True'" setzen.
Edit:Anstelle eines StringFeldes solltest Du dann aber eher ein Boolean oder nummeric Feld für 'FileExists' nehmen (Oben ist es nur als Beispiel angegeben..
).