我正在尝试拉并向打印机发送报告。
我找到了这个,但是我得到了这些奇怪的对象类型错误。我认为我使用了这个错误。对菜鸟问题感到抱歉,但是如果我能得到一些帮助的话,那就很好。

private void button13_Click(object sender, EventArgs e)
{

        DoCmd.OpenReport("Sales", //ReportName
                          objAccApp.AcView.acViewPreview, //View
                          System.Reflection.Missing.Value, //FilterName
                          System.Reflection.Missing.Value //WhereCondition);
}



  严重性代码说明项目文件行错误CS0103名称
  当前不存在“ DoCmd”
  上下文AllianceERP C:\ Users \ dhelm.ALLMATINC.001 \ Documents \ Visual
  Studio 2013 \项目\ AllianceERP \ AllianceERP \ Form1.cs 1033
  
  严重性代码说明项目文件行错误CS0103名称
  当前不存在“ AcView”
  上下文AllianceERP C:\ Users \ dhelm.ALLMATINC.001 \ Documents \ Visual
  Studio 2013 \项目\ AllianceERP \ AllianceERP \ Form1.cs 1035

最佳答案

DoCmd.OpenReport是VBA方法,不能直接在C#中使用。

尝试使用Access Office Interop Objects

Access.Application oAccess = null;

// Start a new instance of Access for Automation:
oAccess = new Access.ApplicationClass();

// Open a database in exclusive mode:
oAccess.OpenCurrentDatabase(
   "c:\\mydb.mdb", //filepath
   true //Exclusive
   );

// Preview a report named Sales:
oAccess.DoCmd.OpenReport(
   "Sales", //ReportName
   Access.AcView.acViewPreview, //View
   System.Reflection.Missing.Value, //FilterName
   System.Reflection.Missing.Value //WhereCondition
   );

09-08 00:00