2010-08-31 2 views
0

Я пытаюсь создать PDF из отчета Access. Откроется диалоговое окно всплывающего окна «Введите значение параметра». Как я могу заполнить его C#? Это даже тот отчетParameter (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(); 
     } 
    } 
} 

ответ

0

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

0

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

DBEngine(0)(0).QueryDefs("Query_report_is_based_on").SQL = “SELECT foo FROM tblBar WHERE foo=’Something’ ” 
+0

Почему бы просто не передать аргумент критериев OpenReport и не беспокоиться о параметризации SQL вообще? –

Смежные вопросы