Run an Access report in a VB .Net application

G

Guest

I'm in the process of migrating a MS Access 2003 application to VB .Net
(2005). How can I run the reports in Access from the VB application?
 
C

Cor Ligthert [MVP]

Tony,

Probably with Office integration, be aware that the end users needs all full
licence of MS office access for that.

Cor
 
G

George Shubin

I'm in the process of migrating a MS Access 2003 application to VB .Net
(2005). How can I run the reports in Access from the VB application?

Try the following. It requires Microsoft's Access to be installed on the
user's system. (Watch out for wordwrap.)



Public Sub PrintAccessReport(ByVal sReportName As String, Optional ByVal
sQryName As String = "", Optional ByVal sSQL As String = "")

Dim oAccess As New Access.ApplicationClass

oAccess.Visible = True

oAccess.OpenCurrentDatabase(gsCurLocation & gsCurDatabase)

oAccess.DoCmd.Minimize()

'Create new query if needed

If sQryName.Length > 0 And sSQL.Length > 0 Then

Try

'oAccess.CurrentDb.QueryDefs.Delete(sQryName)

oAccess.DoCmd.DeleteObject(Access.AcObjectType.acQuery, sQryName)

Catch

'Close and reopen the Access object if above statement failed

oAccess.Visible = False

oAccess.Quit(Access.AcQuitOption.acQuitSaveNone)

System.Runtime.InteropServices.Marshal.ReleaseComObject(oAccess)

oAccess.Visible = True

oAccess.OpenCurrentDatabase(gsCurLocation & gsCurDatabase)

oAccess.DoCmd.Minimize()

End Try

oAccess.CurrentDb.CreateQueryDef(sQryName, sSQL)

End If

'Preview the report

oAccess.DoCmd.OpenReport(sReportName, Access.AcView.acViewPreview, , ,
Access.AcWindowMode.acDialog)

'Close the Access Instance

If Not oAccess Is Nothing Then

' Call Access Quit method without saving any changes.

oAccess.Quit(Access.AcQuitOption.acQuitSaveNone)

' Use Marshal class' ReleaseComObject to release the Access instance.

System.Runtime.InteropServices.Marshal.ReleaseComObject(oAccess)

' Dereference the oAccess variable.

oAccess = Nothing

End If

End Sub
 
G

Guest

Just interested in knowing where there might be more info/articles/tutorials
on 'Access Automation' using VBE (i.e., other aspects of this - not just
reports)??
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top