Solved

docmd.OpenForm -- a question about the parameters

Posted on 2011-02-24
9
449 Views
Last Modified: 2012-05-11
Hi,

I'm using the docmd.OpenForm command to open a form when a button is clicked. I'm also trying to pass the form to be opened some information about what data to show when the button is clicked; however, I'm very confused about the following possible paramters I could use. So, for 500 points could someone succinctly summarize the difference between:
FilterName, WhereCondition, OpenArgs

and describe a typical situation when you'd use it?

Are there any corresponding properties that the form to be opened needs to have set for any of these?

[For context, the first form is contains multiple user search parameters, and the second is an unbound Main form (with buttons) with the subform displaying the resultset desired by the user.]
0
Comment
Question by:epuglise
[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
  • 3
  • 3
  • 2
  • +1
9 Comments
 
LVL 120

Assisted Solution

by:Rey Obrero (Capricorn1)
Rey Obrero (Capricorn1) earned 167 total points
ID: 34974895
if you want to open the form to show filtered records
* use the WhereCondition
if you want to pass information when opening a form
* use the OpenArgs

i never use FilterName
0
 

Author Comment

by:epuglise
ID: 34974915
Ok that's easy. Thanks. One follow up question if I may. What kinds of information would you pass in OpenArgs... form properties or something?
0
 

Author Comment

by:epuglise
ID: 34974921
I would be interested in hearing from someone who does use the FilterName...
0
Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

 
LVL 30

Accepted Solution

by:
hnasr earned 167 total points
ID: 34975180
FilterName:
Create a query with the required fields to filter. Add the criteria and save it.
This will act as the filterName in the command.
Can be reused in other situations.

WhereCondition:
a simple way for experts, if used with limited nuber of fields.

OpenArgs:
A string that can be carried to the opened form.  You can use it in the load event, for example, like any variable.
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 34975307
i never use FilterName, it is erratic...
0
 
LVL 120

Assisted Solution

by:Rey Obrero (Capricorn1)
Rey Obrero (Capricorn1) earned 167 total points
ID: 34975317
<What kinds of information would you pass in OpenArgs...> anything relevant to the form that you are opening.
0
 
LVL 84

Assisted Solution

by:Scott McDaniel (Microsoft Access MVP - EE MVE )
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 166 total points
ID: 34976375
Ditto on the FilterName argument - I don't use it. It used to work in 2003 and below if you inadvertantly entered a WHERE clause for the Filter argument, but that broke for good in 2007, and now if you don't enter the name of a well-formed Filter query you'll either get an error of the form won't filter.

Note also that one form can reference data/values on another, and in some cases that makes more sense than trying to use OpenArgs. For me, OpenArgs is best suited for something like on-the-fly filtering. If you need to move a LOT of data to another form, then it's often best to have FormB refer to FormA:

Me.txtTitle = Forms("FormA").txtTitle

Or use Properties of a form, and set those properties from the "calling" form.
0
 

Author Comment

by:epuglise
ID: 34982570
Thank you all for the input! This was a helpful tutorial!!
0
 
LVL 30

Expert Comment

by:hnasr
ID: 34983638
Welcome!
0

Featured Post

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

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

Preparing an email is something we should all take special care with – especially when the email is for somebody you may not know very well. The pressures of everyday working life stacked with a hectic office environment can make this a real challen…
Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
Familiarize people with the process of utilizing SQL Server views from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Access…
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.

737 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