通过.net工作打开Access报告,但无法正常工作

时间:2011-08-18 17:33:37

标签: c# .net winforms visual-studio-2010 ms-access

我正在尝试通过.net打开访问报告。我可以使用Access.AcView.acViewNormal以正常模式打开它,但它不是我想要做的,因为它提示用户保存第一个然后可以查看它。我希望弹出报告,似乎.acViewPreview或.acViewReport是我应该使用的,但它不会弹出。

确实打开了一个过程,似乎正在打开,但我看不到报告。也许它的关闭速度非常快。以下是我目前的代码

private void buttonResults_Click(object sender, EventArgs e)
    {
        Microsoft.Office.Interop.Access.Application oAccess = new Microsoft.Office.Interop.Access.Application();
        oAccess.OpenCurrentDatabase("D:\\path.mdb",true);

        try
        {
            oAccess.DoCmd.OpenReport("rptChartData", Microsoft.Office.Interop.Access.AcView.acViewPreview);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

我做错了什么?提前谢谢......

1 个答案:

答案 0 :(得分:1)

我不知道Dot Net。我将此代码放在Excel模块中,它创建了一个Access实例并显示了我的报告。密钥似乎是oAccess.Visible = True如果没有设置Visible = True,Access会打开(并保持打开状态)报告,但只是不可见。

Dim strDbFullPath As String
Dim oAccess As Access.Application

strDbFullPath = "C:\Access\webforums\whiteboard2003.mdb"
Set oAccess = New Access.Application

oAccess.Visible = True
oAccess.OpenCurrentDatabase strDbFullPath, True
oAccess.DoCmd.OpenReport "rptFoo", acViewPreview

所以我认为这可能不是Dot Net问题,而是Access应用程序实例的标准行为。