Solved

How to pass multipe items in OpenArgs event of an ACCESS 2010 report

Posted on 2014-11-17
4
277 Views
Last Modified: 2014-11-17
I pass the name of the report in its caption using the Open Args.  But, I need to pass two items in open args.  One to dynamically change the report title and an argument to change the sort order.  Right now, I pass the caption, but how to I add a second argument?

    DoCmd.OpenReport strReportName, acViewReport, , strFilter, , strReportCaption

Private Sub Report_Open(Cancel As Integer)
    Me.lblTitle.Caption = Me.OpenArgs
   
End Sub

Need to add in the Report_Open event
     Me.OrderBy = Me.OpenArgs
     Me.OrderByOn = True
Will post as another question as you did answer the one I asked.

Sandra
0
Comment
Question by:ssmith94015
[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
  • 2
4 Comments
 
LVL 58

Accepted Solution

by:
Jim Dettman (Microsoft MVP/ EE MVE) earned 500 total points
ID: 40448191
The simplest is to choose a delimiter, say a vertical pipe, and do:

<caption>|<other value>|<othervalue>

then use Split() in the receiving object to split the string into an array.

Jim.
0
 

Author Closing Comment

by:ssmith94015
ID: 40448217
Yes, the looks familiar.  I knew I had done this in one of my other databases, but simply could not remember which one and how.  They you for jogging my memory and I know this approach does work, I just could not remember it!

Sandra
0
 
LVL 58
ID: 40448223
and just as an FYI, you can come up with all kinds of schemes.  For example:

"ADD;SETCTRLTODATA=txtCustomerID:" & NewData & ";EXITTOFORM=frmLoad"

This is a string I pass to a form in OpenArgs.   I'm using the semi-colon as a delimiter.

First argument is the mode the form should open in.   Second specifies that the following control/value pairs should be set, and the third is the form that focus should be returned to when closed.

Whatever you do, don't rely on position (i.e. 3rd argument in is this xxxx), but rather use a 'tag' (i.e. 'SETCTRLTODATA=') to tell you what the argument is.  

So in your case, maybe:

"SETCAPTION=<value>|SORTORDER=<value>"

Then your report open can be standardized looking for each thing that needs to be done as you should do it:

1. Do I need to set the caption?  Look for the tag.  not found, do nothing.  Found, set.
2. Do I need to set the sort order? Look for the tag....

or you can loop through the array after a Split() and act on each tag in turn.

Jim.
0
 

Author Comment

by:ssmith94015
ID: 40448284
Thank you for the follow up and I learned a long time ago not to rely on position!  When I inherited this database, there was a report for every scenario, the same report, but now I just have one to worry about and pass the needed filter and arguments.  Easier to maintain the one now than 15 copies.  I use the pipe as I can see it better, but important thing is it does get the job done.

Sandra
0

Featured Post

Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

Question has a verified solution.

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

In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
The Windows Phone Theme Colours is a tight, powerful, and well balanced palette. This tiny Access application makes it a snap to select and pick a value. And it doubles as an intro to implementing WithEvents, one of Access' hidden gems.
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

695 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