C#Access报告打印代码错误

时间:2015-10-12 14:50:14

标签: c# sql .net ms-access

我正在尝试拉动并向打印机发送报告。 我找到了这个,但我得到了这些奇怪的对象类型错误。我认为我错了。对于noob问题感到抱歉,但如果我能得到一些可靠的帮助。

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'   context AllianceERP C:\ Users \ dhelm.ALLMATINC.001 \ Documents \ Visual   Studio 2013 \ Projects \ AllianceERP \ AllianceERP \ Form1.cs 1033

     

严重级代码说明项目文件行错误CS0103名称   'AcView'在当前不存在   context AllianceERP C:\ Users \ dhelm.ALLMATINC.001 \ Documents \ Visual   Studio 2013 \ Projects \ AllianceERP \ AllianceERP \ Form1.cs 1035

1 个答案:

答案 0 :(得分:2)

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
   );