, поэтому я пытаюсь автоматизировать некоторые отчеты в Access 2013. Когда я запускаю отчет, я получаю диалоговое окно с запросом параметра (Enter Plant :), что-то вроде этого.
Я хочу запустить этот код без запроса имени завода. Код работает, но если я его запускаю, появляется диалоговое окно с запросом имени завода, и если я набираю имя завода, он запускается и сохраняет файл PDF точно так же, как я хочу. Отчет в Access работает с использованием другого имени завода и выводит другой отчет в зависимости от данного завода. Моя идея состоит в том, чтобы поместить этот код в цикл и в каждой итерации передавать другое имя установки и сохранять новый файл. Но всегда появляется диалоговое окно с просьбой добавить название завода вручную.
Microsoft.Office.Interop.Access.Application oAccess = null;
// Start a new instance of Access for Automation:
oAccess = new Microsoft.Office.Interop.Access.Application();
// Open a database in exclusive mode:
oAccess.OpenCurrentDatabase(
"route DB", //filepath
true //Exclusive
);
//This doesnt work
// oAccess.DoCmd.SetParameter("[Enter Plant:]", "Arlington");
oAccess.DoCmd.OpenReport(
"06 - Security Report - Plants",
AcView.acViewReport,
"qry Security Report - Plant",
//This doesnt work either, still asks me for a plant name
"[Enter Plant:] ='Arlington'",
AcWindowMode.acWindowNormal
);
//If I give the plant name to the dialog it works correctly en saves a pdf file wit the report
oAccess.DoCmd.OutputTo(
AcOutputObjectType.acOutputReport,
System.Reflection.Missing.Value,
"PDF Format (*.pdf)",
"route to save file",
false,
System.Reflection.Missing.Value,
System.Reflection.Missing.Value,
AcExportQuality.acExportQualityPrint
);
oAccess.Quit();
Я могу получить доступ к запросу, но, к сожалению, я не могу его изменить, также он довольно длинный, поэтому я не смогу его показать (похоже, он был создан мастером доступа, поэтому он слишком длинный), хотя здесь пример использования запрашиваемого параметра:
AND ((Signers.Location)=[Enter Plant:])
Этот параметр указан в запросе более 40 раз.
Есть идеи? Заранее спасибо!