Solved

Passing Parameter to Access Report in VB.Net?

Posted on 2008-06-17
3
1,167 Views
Last Modified: 2013-11-28
To test this procedure I hard coded the parameters into the query (in test.mdb).  Everthing works so far.   Now, I want to make it dynamic so I can pass the parameters at runtime.  

Do I need the dao object reference in project?  I am trying to stick with the .net exclusively.

The query name is prMemoSingle and I have two parameter mID and pID.   I am not sure how to access/pass these parameters so that I can make this code dynamic.

Secondly, does this code appropriately close/release the lock on the database?

        oAccess.CloseCurrentDatabase()
        oAccess = Nothing

Thanks!

Dim oAccess As Access.Application
        oAccess = New Access.ApplicationClass()
        oAccess.OpenCurrentDatabase(filepath:="s:\database\test.mdb", Exclusive:=False)
 
'---->  Open Access Query, pass parameters that the report is based upon.   Parameter 1 = mID, Paramter 2 = pID (both integers)
 
        oAccess.DoCmd.OpenReport(ReportName:="prMemoSingle", View:=Access.AcView.acViewNormal)
        oAccess.CloseCurrentDatabase()
        oAccess = Nothing

Open in new window

0
Comment
Question by:rrowe68
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 38

Accepted Solution

by:
Jim P. earned 500 total points
ID: 21805489
This is a guess based off how similar that looks to how you do it in VBA.
Dim oAccess As Access.Application
        Dim strCriteria as String
        oAccess = New Access.ApplicationClass()
        oAccess.OpenCurrentDatabase(filepath:="s:\database\test.mdb", Exclusive:=False)
 
'---->  Open Access Query, pass parameters that the report is based upon.   Parameter 1 = mID, Paramter 2 = pID (both integers)
 
    strCriteria = "[mID] = " & MymIDValue & " And [pID] = "  & MypIDValue   
 
    oAccess.DoCmd.OpenReport(ReportName:="prMemoSingle", View:=Access.AcView.acViewNormal, WhereCondition = strcritera)
 
        oAccess.CloseCurrentDatabase()
        oAccess = Nothing

Open in new window

0
 

Author Comment

by:rrowe68
ID: 21806774
Thanks Jimpen -- You are right.

Answer -- below


        Dim oAccess As New Access.ApplicationClass()
        Dim strWhere As String
        Try
            oAccess.OpenCurrentDatabase(filepath:="s:\database\emery.mdb", Exclusive:=False)
            strWhere = "nMemoID = " & CURRMEMO & " AND " & "lPropertyID = " & CURRPROP
            oAccess.DoCmd.OpenReport(ReportName:="prMemoSingle", View:=Access.AcView.acViewNormal, WhereCondition:=strWhere)
 
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical)
        Finally
            oAccess.Quit()
            oAccess = Nothing
 
        End Try

Open in new window

0
 
LVL 38

Expert Comment

by:Jim P.
ID: 21806791
Glad to be of assistance. May all your days get brighter and brighter.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

AutoNumbers should increment automatically, without duplicates.  But sometimes something goes wrong, and the next AutoNumber value is a duplicate.  This article shows how to recover from this problem.
Microsoft Access is a place to store data within tables and represent this stored data using multiple database objects such as in form of macros, forms, reports, etc. After a MS Access database is created there is need to improve the performance and…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question