【问题标题】:C# Access reports printing code errorC# Access 报告打印代码错误
【发布时间】: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

【问题讨论】:

    标签: c# sql .net ms-access


    【解决方案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
    猜你喜欢
    • 1970-01-01
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多