15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Вопрос:
Как можно открыть отчёт (в режиме Print Preview а также print direct) в MS Access ?
Ответ:
Следующий небольшой пример демонстрирует, как можно вызвать отчёт из MS Access:


var
Access: Variant;
begin
// открываем Access
  try
    Access := GetActiveOleObject('Access.Application');
  except
    Access := CreateOleObject('Access.Application');
  end;
  Access.Visible := True;

// открываем базу данных
//Второй параметр указывает - будет ли база открыта в Exclusive режиме
  Access.OpenCurrentDatabase('C:\My Documents\Books.mdb', True);

// открываем отчёт
{Значение второго пораметра может быть одним из следующих
acViewDesign, acViewNormal, or acViewPreview. acViewNormal, которые устанавливаются по умолчанию, для печати отчёта. Если Вы не используете библиотеку типов, то можете определить эти значения следующими:

  const
    acViewNormal = $00000000;
    acViewDesign = $00000001;
    acViewPreview = $00000002;

Третий параметр - это имя очереди для текущей базы данных. Четвёртый параметр - это строка для SQL-евского WHERE - то есть строка SQL, минус WHERE.}

  Access.DoCmd.OpenReport('Titles by Author', acViewPreview,
                           EmptyParam, EmptyParam);

<...>
// закрываем базу данных
  Access.CloseCurrentDatabase;

// закрываем Access
  {const
    acQuitPrompt = $00000000;
    acQuitSaveAll = $00000001;
    acQuitSaveNone = $00000002;}
  Access.Quit(acQuitSaveAll);
end;