在VB.NETxi下调用Access中的Report

在VB.NET中可以用两种方式调用Access数据库:ADO.NET或者自动化(Automation)。

如果你是要操纵Access下的数据那么ADO.NET必然是首选。如果你要操纵Access下的Form,Report就必须使用自动化。

以下是一个示例:

  1. 新建一个Window Forms Application.
  2. 引用”Microsoft.Office.Interop.Access” 14.0(因为我的实现环境是MS Access 2010,Visual Studio 2010)
  3. 数据库情况如下:
  4. 代码如下:
  5. Imports Access = Microsoft.Office.Interop.Access
    Imports MyLog4Net
    
    Public Class Form1
        Private mlog As New MyLog4Net.MyLogger(GetType(Form1),"Debug.log")
    
        Private Sub Button1_Click(sender As System.Object,e As System.EventArgs) Handles Button1.Click
            Dim OAccess As Access.Application
            Dim OFD As New OpenFileDialog
    
            Try
                OFD.Multiselect = False
                OFD.Filter = "Access File 2010|*.accdb"
                OFD.ShowDialog()
                OAccess = New Access.Application
                OAccess.OpenCurrentDatabase(OFD.FileName,False)
                OAccess.Visible = True
                OAccess.DoCmd.OpenReport("TestTable1Report",Access.AcView.acViewPreview)
            Catch ex As Exception
                mlog.ERROR(ex.Message)
            End Try
        End Sub
    End Class

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...