Как вставить текст в диалог «Ввод значения параметра»? - PullRequest
0 голосов
/ 31 августа 2010

Я пытаюсь создать PDF из отчета Access. Всплывающее диалоговое окно отчета «Введите значение параметра». Как я мог заполнить это с C #? Это даже тот параметр reportParameter (whereCondition)?

using System;
using MsAccess = Microsoft.Office.Interop.Access;

namespace mdb2pdf
{
    class Program
    {
        public static void Main(string[] args)
        {
            string MDBFile = @"d:\example.mdb";
            string PDFFile = @"d:\example.pdf";
            string reportName = @"myReport";
            string reportParameter = @"[Name?] LIKE 'myName'";

            MsAccess.Application app = new MsAccess.Application();

            app.OpenCurrentDatabase(MDBFile, false, "");
            app.DoCmd.OpenReport(reportName, Microsoft.Office.Interop.Access.AcView.acViewPreview, Type.Missing, reportParameter, MsAccess.AcWindowMode.acWindowNormal, Type.Missing);

            app.DoCmd.OutputTo(MsAccess.AcOutputObjectType.acOutputReport, reportName, MsAccess.Constants.acFormatPDF, PDFFile, Type.Missing, Type.Missing, Type.Missing);
            app.CloseCurrentDatabase();
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 20 ноября 2012

Я создал скрипт VB во всех файлах Excel, который выводит PDF при открытии определенного отчета.

0 голосов
/ 31 августа 2010

Вы можете попытаться изменить SQL за запросом, на котором основан отчет, чтобы включить ваши критерии во время выполнения.Не уверен, как это сделать с помощью c #, но это то, как вы могли бы сделать это в родном VBA, так что, надеюсь, вы сможете выполнить обратный инжиниринг оттуда

DBEngine(0)(0).QueryDefs("Query_report_is_based_on").SQL = “SELECT foo FROM tblBar WHERE foo=’Something’ ”
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...