Versions of access

  • Thread starter Thread starter Bruce
  • Start date Start date
B

Bruce

I've written a database using Access 2002, but with the file format
set to 2000. When I try to use it on Access 2000, however, the
"openargs" parameter in the openreport function generates an error.

Does anyone know how to circumvent this?

Cheers,
Bruce Walker
 
While the two versions use the same file format by default, if you want the
app to work with the older version, you have to avoid using any new features
that were not supported in the older version. And the OpenArgs argument of
the OpenReport method is a new feature in Access 2002. You can use a global
variable, or a (hidden if necessary) text box on an open form. Set the
variable or the value of the text box in the code that opens the report, and
read it in the Open event of the report.

--
Brendan Reynolds (MVP)
http://brenreyn.blogspot.com

The spammers and script-kiddies have succeeded in making it impossible for
me to use a real e-mail address in public newsgroups. E-mail replies to
this post will be deleted without being read. Any e-mail claiming to be
from brenreyn at indigo dot ie that is not digitally signed by me with a
GlobalSign digital certificate is a forgery and should be deleted without
being read. Follow-up questions should in general be posted to the
newsgroup, but if you have a good reason to send me e-mail, you'll find
a useable e-mail address at the URL above.
 
Actually, you can. You just need a condition for use of the new feature,
i.e.,

If Syscmd(7) = "10.0" Then
DoNewMethod
Else
DoOldMethod
End If
 
Try it, Paul. You'll get a compile error when you attempt to run it in
Access 2000.

It could be done with conditional compilation ...

#Const OPENARGS = False

Public Sub TestSub()

#If OPENARGS Then
DoCmd.OpenReport "rptTest", acViewPreview, , , "A Test"
#Else
DoCmd.OpenReport "rptTest", acViewPreview
#End If

End Sub

But as you would have to write the code to do it the other way in the
earlier version, it would generally be simpler to go ahead and use that code
in the later version as well.

--
Brendan Reynolds (MVP)
http://brenreyn.blogspot.com

The spammers and script-kiddies have succeeded in making it impossible for
me to use a real e-mail address in public newsgroups. E-mail replies to
this post will be deleted without being read. Any e-mail claiming to be
from brenreyn at indigo dot ie that is not digitally signed by me with a
GlobalSign digital certificate is a forgery and should be deleted without
being read. Follow-up questions should in general be posted to the
newsgroup, but if you have a good reason to send me e-mail, you'll find
a useable e-mail address at the URL above.
 
Yeah...wasn't thinking about the compile error on this particular method.
I've used SysCmd(7) to conditionally execute other code based on version,
but obviously hadn't thought this all the way through. Nevertheless, this
should work (air code)...

Dim x As Variant

If SysCmd(7) = "10.0" Then
Set x = Application
x.DoCmd.OpenReport "rptTest", acViewPreview, , , "A Test"
Else
DoCmd.OpenReport "rptTest", acViewPreview
End If
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top