Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Вызов пользовательской функции Access / 1 сообщений из 1, страница 1 из 1
14.09.2017, 12:33:17
    #39521032
Вызов пользовательской функции Access
Здравствуйте!
Помогите, пожалуйста, вызвать некую пользовательскую функцию, хранящуюся в модуле базы Access.
Напрямую Access не даст обратиться к функции, поэтому вызываю через запрос в базе: 'Запрос1'.
Из самого Access запрос выполняется нормально, но если вызывать из кода ниже выбивает "Неопределенная функция "ИмяМоейФункции" в выражении".
Чего только не перепробовал уже делать. Есть ли какие то варианты решения?

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
procedure TMainForm.AccessExec(sql: string);
const
  acViewNormal   = $00000000;
  acQuitSaveAll  = $00000001;
var
  Access: Variant;
  AccessEnabled: boolean;
  ClassId: TCLSID;
begin
  AccessEnabled := CLSIDFromProgID(PWideChar(WideString('Access.Application')),ClassId) = S_OK;
  if not AccessEnabled
     then begin
            ShowMessage('Access не установлен');
            exit;
          end;

  try
     Access := GetActiveOleObject('Access.Application');
     except
	  Access := CreateOleObject('Access.Application');
  end;
  Access.Visible := True;
  Access.OpenCurrentDatabase('путь к файлу.mdb', False);
  // Access.Currentdb.OpenRecordset(sql);
  // Access.Currentdb.OpenRecordset('Запрос1');
  Access.DoCmd.OpenQuery('Запрос1', acViewNormal);
  Access.Disconnect;
  Access.Quit(acQuitSaveAll);
end;
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Вызов пользовательской функции Access / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]