|
web
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Run an Access report in a VB .Net applicationI'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? -- Tony Tony,
Probably with Office integration, be aware that the end users needs all full licence of MS office access for that. Cor Show quoteHide quote "Tony A." <To***@discussions.microsoft.com> schreef in bericht news:0E2404F2-5FDF-45CA-94CC-8009152D0B3B@microsoft.com... > 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? > -- > Tony > I'm in the process of migrating a MS Access 2003 application to VB .Net Try the following. It requires Microsoft's Access to be installed on the > (2005). How can I run the reports in Access from the VB application? 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 ------------------------------------------------------------------------ George Shubin Custom Software Development dX Software Systems Database Applications Ph: 503-981-6806 Fax: 503-982-0120 www.dxonline.com geo***@dxonline.com ------------------------------------------------------------------------ "Despite efforts by government to prevent concentration in industry, the regulators are bringing us to the point where only the largest companies can survive." -- Henry Ford 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)?? -- Show quoteHide quoteThanks! Soddy "George Shubin" wrote: > > 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 > > ------------------------------------------------------------------------ > George Shubin Custom Software Development > dX Software Systems Database Applications > Ph: 503-981-6806 Fax: 503-982-0120 > www.dxonline.com geo***@dxonline.com > ------------------------------------------------------------------------ > > "Despite efforts by government to prevent concentration in industry, the > regulators are bringing us to the point where only the largest companies can > survive." -- Henry Ford > > >
Can I make my program more efficient ?
My for each loops do not compile - VB 2003 Can anyone help in shortening this loop??? tcpListener.AcceptSocket strange behavior execution from command line Form2.vb[design] innaccessible ! How to detect if program execution is in debug mode? Problem with CustomTyped casting and type checking Binding an Image to a picturebox Encryption: VB 2005 And SQL Server 2005 |
|||||||||||||||||||||||