我正在尝试通过.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);
}
}
我做错了什么?提前谢谢......
答案 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应用程序实例的标准行为。