我正在尝试拉动并向打印机发送报告。 我找到了这个,但我得到了这些奇怪的对象类型错误。我认为我错了。对于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
答案 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
);