Аксес подключение выдает ошибку

кое что нашла надеюсь это верный путь

firedac как задать свойство ODBCAdvanced не через визуальный редактор?

почитала то что предложили но теперь вопрос

Вот так должна выглядеть запись:

FDConnection1.Params.AddPair(‘ODBCAdvanced’,‘DefaultDir=I:\Projects\Embarcadero\Delphi\Server-Client\étoile\Serveur\Win64\Debug\BD;DriverId=25;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UserCommitSync=Yes’);

Так если правильно понял, цель отвязать приложение от среды разработки. А в коде вижу все до наоборот. Привязка к полному конкретному адресу.
Делайте относительный адрес. Например папка date содержит базу. Так и укажите относительно: date\base.mdb. Для отладочной версии папка date помещается в debug, финальная в release.

С относительным как бы поосторожней - позаботиться об нужном текущем рабочем каталоге. А он не всегда такой как кажется )

Я думаю сделать с помощью Extractfilepath(paramstr(0)), но как это записать так чтобы FD не принял за ошибку не пойму

было ж уже

на

последовало:

Так а в коде что сейчас?
Файл где лежит?

Лежит здесь
I:\Projects\Embarcadero\Delphi\Server-Client\étoile\Serveur\Win64\Debug\BD\UserBD.mdb

функция

function TForm2.BDconnected(S3: string; S2, S1: Tobject): string;

begin
if s1 is TFDConnection then
begin

TFDConnection(s1).Params.DriverID:='MSAcc';
TFDConnection(s1).Params.Database:=S3;
//TFDConnection(s1).Params.AddPair('ODBCAdvanced','DefaultDir='+s3+'DriverId=25;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UserCommitSync=Yes');
TFDConnection(s1).Connected := True;

end;

if s1 is TFDQuery then
begin
TFDQuery(s2).SQL.Text:='Select*From User_Grid';
TFDQuery(s2).Active:=true;
end;
end;

end.

вызов функции

procedure TForm1.CornerButton1Click(Sender: TObject);
var
path:string;
DatabaseFilePath,AppDirPath:string;
begin
AppDirPath := ExtractFilePath(ParamStr(0));
DatabaseFilePath := AppDirPath + 'db\UserBD.mdb';
Form2.BDconnected(DatabaseFilePath,Form2.FDQuery1, Form2.FDConnection1);

end;

дык опять

не поняла db - папка, в которой находиться файл - UserBD.mdb.
сделала с большой та же самая ошибка повторяется.

db и bd это разные имена.

изменила функцию вызова

procedure TForm1.CornerButton1Click(Sender: TObject);
var
DatabaseFilePath,AppDirPath:string;
begin
AppDirPath := ExtractFilePath(ParamStr(0));
DatabaseFilePath := AppDirPath + 'BD\UserBD.mdb';
Form2.BDconnected(DatabaseFilePath,Form2.FDQuery1, Form2.FDConnection1);

end;

не чего не поменялось

AppDirPath возвращает "I:\Projects\Embarcadero\Delphi\Server-Client\étoile\Serveur\Win64\Debug\ " ?

вот что храниться в DatabaseFilePath:

а как ODBC настроен для этого драйвера?

вот это мне и нужно понять я нашла вот что :
ODBCAdvanced’,‘DefaultDir=I:\Projects\Embarcadero\Delphi\Server-Client\étoile\Serveur\Win64\Debug\BD;DriverId=25;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UserCommitSync=Yes’);
но он настроен на абсолютный путь соответственно вопрос если это и есть настройка ODBC настройка драйвера то как его делать относительным и куда потом вставить

Я об администраторе источников данных ODBC.

Я сижу, из под единственной админской учетной записи или совсем понимаю как это.

Делаю через визуальный редактор с абсолютными путями все получается


а с относительными нет

попробовала так:
Form2.FDConnection1.DataSets.DataSource.DataSet.State:='ODBCAdvanced’,‘DefaultDir='+DatabaseFilePath+'DriverId=25;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UserCommitSync=Yes’)';
не вышло