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

function TCore_Etoile_server.bdconected(s1,s: TObject): string;
begin
if s is TFDConnection then
begin
TFDConnection(s).DriverName:='MSAcc';
TFDConnection(s).Params.Values['Database']:= ExtractFilePath(ParamStr(0)) + 'db\User_BD.mdb';
FDConnection1.Connected := True;
if s1 is TFDQuery then
TFDQuery(s1).Active:=true;
end;
end;

Вот такая ошибка:

Так может путь файла не тот?

Для начала можно просто скопировать и вставить путь типа ...Values['Database'] := 'C:\.....\db.mdb';
Если заработало — вывести куда-нибудь значение ExtractFilePath(ParamStr(0)) и смотреть что там не так.

function TCore_Etoile_server.bdconected(s2:string;s1,s: TObject): string;
begin
if s is TFDConnection then
begin
TFDConnection(s).DriverName:='MSAcc';
TFDConnection(s).Params.Values['Database']:=s2;
TFDConnection(s).Connected := True;
if s1 is TFDQuery then
TFDQuery(s1).Active:=true;
end;
end;

вот вызов:

procedure TUser_list_Etoile_server.CornerButton2Click(Sender: TObject);
var
path:string;
begin
 path:='I:\User\Documents\Embarcadero\Studio\Projects\Rad Studio\delphi\étoile\étoile server\Win64\Debug\bd\User_BD.mdb';//ExtractFilePath(ParamStr(0)) + 'db\User_BD.mdb';
 Core_Etoile_server.bdconected(path,Core_Etoile_server.FDQuery1,Core_Etoile_server.FDConnection1);
end;

не помогло

Я бы еще попробовал путь попроще на всякий случай, без не ASCII символов и пробелов.
Например 'I:\User_BD.mdb'

path:='I:\UserBD.mdb';//ExtractFilePath(ParamStr(0)) + 'db\User_BD.mdb';
 Core_Etoile_server.bdconected(path,Core_Etoile_server.FDQuery1,Core_Etoile_server.FDConnection1);

Не помогло

такой драйвер есть на ПК или это дефолтное обозначение Access’a?

Глупый вопрос, но иммеет право быть ;), файл-то есть в корне І?

такой драйвер есть на ПК или это дефолтное обозначение Access’a?

так аксес обозначает фаердак

Глупый вопрос, но имеет право быть ;), файл-то есть в корне І?

Да, но начало не был там, потом переместила в корень. Мне конечно удобнее чтобы он был здесь:
TFDConnection(s).Params.Values['Database']:= ExtractFilePath(ParamStr(0)) + 'db\User_BD.mdb';
описание функции на одной форме вызываться на другой

поле того как начала новый проект ситуация изменилась

function TForm2.bdconected(s2: string; s1, s: TObject): string;
begin
if (s is TFDConnection) and (s1 is TFDQuery)  then
begin
TFDConnection(s).DriverName:='MSAcc';
TFDConnection(s).Params.Values['Database']:=s2;
TFDQuery(s1).SQL.add('select*From User_Grid');
TFDConnection(s).Connected := True;
TFDQuery(s1).Active:=true;
end;
 {if (TFDConnection(s).Connected=true) and (TFDQuery(s1).Active=true)  then
 Result:='successfully'; }

end;

Ну так если сделать то, что просят в ошибке, то наверно будет то же самое )

А что это за матюк в адресе?

P. S.
По последнему скрину ошибка регистрации драйвера БД.
Проше сказать, в проекте не выбран драйвер для БД.
ПРАКТИКА РАБОТЫ С БД MS ACCESS ИЗ DELPHI

étoile - название папки и программы в переводе на русский звезда

я это знаю но это адо компоненты а у меня FD компоненты и путь должен быть относительный чтобы можно было запустить на другом компе поэтому в функцию предаю объекты и там присваиваю им необходимые значения кроме того у меня не делфи 7 а радстудио Берлин в ней нет DBEdit, DBMemo DBNavigator, DBGrid.

Не вижу весомых отличий по работе с БД. Вы используете в приложении компонент ADOConection?
Может эта ссылка:
Разработка Баз Данных в среде Delphi при помощи технологии ADO поможет разобраться…
P. S.
Дополнительно: Компонент ADOConnection. Можно настроить Data Link File.

Я использующую FDconnection линк настроен нужен относительный путь чтобы на любом коме работало
FDconnection нет тех полей из которых можно получить содержимое коннекта. Как только подключаюсь через визуальное меню все норм как только в обход все ломается

Ну да так и случилось. Немного поменяла код:

unit Core;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
  FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.UI.Intf,
  FireDAC.Phys.Intf, FireDAC.Stan.Def, FireDAC.Stan.Pool, FireDAC.Stan.Async,
  FireDAC.Phys, FireDAC.FMXUI.Wait, FireDAC.Stan.Param, FireDAC.DatS,
  FireDAC.DApt.Intf, FireDAC.DApt, Data.DB, FireDAC.Comp.DataSet,
  FireDAC.Comp.Client, FireDAC.Phys.MSAcc, FireDAC.Phys.MSAccDef;

type
  TForm2 = class(TForm)
    FDQuery1: TFDQuery;
    FDConnection1: TFDConnection;
    FDManager1: TFDManager;
  private
    { Private declarations }
  public
  function bdconected(s2:string;s1,s{,sd}: TObject): string; { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.fmx}

function TForm2.bdconected(s2: string; s1, s{,sd}: TObject): string;
begin
if s is TFDConnection  then
begin
TFDConnection(s).Params.DriverID:='MSAcc';
TFDConnection(s).Params.Database:=s2;
TFDConnection(s).Params.Encoding='UTF8';
TFDConnection(s).LoginPrompt:=false;

end;
if  s1 is TFDQuery then
begin
TFDQuery(s1).SQL.Text:='select*From User_Grid';
TFDQuery(s1).Connection.Connected:=true;
TFDQuery(s1).Active:=true;
end;
{if s is TFDManager  then
begin
 { TFDManager(sd).DriverDefFileName:='Some path to FDDrivers.ini';
TFDManager(sd).DriverDefFileAutoLoad:=true;
TFDManager(sd).GetCatalogNames(ExtractFilePath(ParamStr(0)) +'FDDrivers1.ini');

end;
 {if (TFDConnection(s).Connected=true) and (TFDQuery(s1).Active=true)  then
 Result:='successfully'; }

end;



end.

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

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 не принял за ошибку не пойму