通过 .net 工作打开访问报告,但不工作
Posted
技术标签:
【中文标题】通过 .net 工作打开访问报告,但不工作【英文标题】:Opening Access report via .net working, but not working 【发布时间】:2011-08-18 17:33:37 【问题描述】:我正在尝试通过 .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】:我不知道点网。我将此代码放在 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 应用程序实例的标准行为。
【讨论】:
太棒了!谢谢。有没有办法将变量传递给该报告?它正在寻找表单值,但我不想让用户输入它们,而是让它自动化。是否可以?再次感谢。 好的,我会提出另一个问题。 实际上,我想通了。再次感谢 HansUp以上是关于通过 .net 工作打开访问报告,但不工作的主要内容,如果未能解决你的问题,请参考以下文章
通过 android.net.NetworkCapabilities 上网检查不工作