C# Access 报告打印代码错误
Posted
技术标签:
【中文标题】C# Access 报告打印代码错误【英文标题】:C# Access reports printing code error 【发布时间】:2015-10-12 14:50:14 【问题描述】:我正在尝试提取报告并将其发送到打印机。 我发现了这个,但我得到了这些奇怪的对象类型错误。我认为我用错了。抱歉这个菜鸟问题,但如果我能得到一些可靠的帮助。
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\Projects\AllianceERP\AllianceERP\Form1.cs 1033
严重性代码描述项目文件行错误CS0103名称 当前不存在“AcView” 上下文 AllianceERP C:\Users\dhelm.ALLMATINC.001\Documents\Visual Studio 2013\Projects\AllianceERP\AllianceERP\Form1.cs 1035
【问题讨论】:
【参考方案1】: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
);
【讨论】:
我用你的代码更新了我的 Access = Microsoft.Office.Interop.Access;但我收到错误严重性代码描述项目文件行错误 CS1752 无法嵌入互操作类型“ApplicationClass”。请改用适用的接口。 AllianceERP C:\Users\dhelm.ALLMATINC.001\Documents\Visual Studio 2013\Projects\AllianceERP\AllianceERP\Form1.cs 1040 检查这个:***.com/questions/2483659/…以上是关于C# Access 报告打印代码错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 VBA 将 MS Access 报告打印到 .xps 文件