Re: MS Access Reports and VB.NET Program



or of course you could just shell to the macro

c:\InsertFullPath\MSACCESS.exe "c:\mySilly.mdb" /X macroname

right?

isn't that easier?

Access reports kick Crystal's ass

-aaron


George Shubin wrote:
You need to have the Access application installed (not just the mdb file) on
the computer you want to run the report. Try using this code: (watch out
for word wrap)

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("C:\PathTo\Your\Database.mdb")
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("C:\PathTo\Your\Database.mdb")
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

--
------------------------------------------------------------------------
George Shubin Custom Software Development
dX Software Systems Database Applications
Ph: 503-981-6806 Fax: 503-982-0120
www.dxonline.com george@xxxxxxxxxxxx
------------------------------------------------------------------------

"JoeW" <wajo0401@xxxxxxxxxxxxxxxx> wrote in message
news:1155745516.792909.268870@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
I'm utilizing a database that I created within MS Access within a
program I've created in VB.NET. I am using the VB front end to
navigate the information, but want to be able to print a report, that
I've also created within MS Access. I've attempted using the
Access.Application instance, but I get errors when it tries to load the

database. Just wondering if anyone has any experience with this, and
what I should do.

Thanks for any help you can offer.


.



Relevant Pages

  • Re: MS Access Reports and VB.NET Program
    ... the computer you want to run the report. ... Public Sub PrintAccessReport(ByVal sReportName As String, ... Dim oAccess As New Access.ApplicationClass ... ' Use Marshal class' ReleaseComObject to release the Access instance. ...
    (microsoft.public.dotnet.languages.vb)
  • Re: Run an Access report in a VB .Net application
    ... How can I run the reports in Access from the VB application? ... Dim oAccess As New Access.ApplicationClass ... ' Use Marshal class' ReleaseComObject to release the Access instance. ... George Shubin Custom Software Development ...
    (microsoft.public.dotnet.languages.vb)