473,396 Members | 2,018 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Common Dialog in Access 2000

What is the best way to get a Common Dialog in Access 2000 Standard Edition?

Microsoft suggests this:

Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
"GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

Private Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type

(See: http://support.microsoft.com/default...b;en-us;303066)

In Access 2003 I was using this:

Private Sub Browse(strTag As String)
Dim dDialog As Office.FileDialog
Dim varDir As Variant
Set dDialog = Application.FileDialog(msoFileDialogFolderPicker)
dDialog.AllowMultiSelect = False
dDialog.Title = " Select Directory"
If dDialog.Show = True Then
For Each varDir In dDialog.SelectedItems
Me!txtPath = varDir
Next
End If
End Sub

Do I need MS's private function?

Thanks in advance.
Nov 13 '05 #1
8 9099
You will also find an example for that here:
http://www.mvps.org/access/api/api0001.htm

The advantage of the longer method is that it calls the Windows API and so
should always work. Calling the Office Dialog could cause a problem if you
have mixed versions of Office. As you may have noticed, in order to get the
Office Dialog to work you had to set a reference to "Microsoft Office 11.0
Object Library". This is version specific. Moving up a version usually isn't
a problem, but if you try to open your file on an older version of Access
that supports your file format, this is likely to break and you'll have to
go into the references dialog to manually set it to the older library. Also,
if you are creating MDE files, you'll have to reset this for the version of
Access the MDE is going to be created in, before creating the MDE. This is
one of the reasons and MDE has to be created on the same version of Access
that it is going to be run on.

--
Wayne Morgan
MS Access MVP
"deko" <de**@hotmail.com> wrote in message
news:9P*****************@newssvr21.news.prodigy.co m...
What is the best way to get a Common Dialog in Access 2000 Standard
Edition?

Microsoft suggests this:

Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
"GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

Private Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type

(See: http://support.microsoft.com/default...b;en-us;303066)

In Access 2003 I was using this:

Private Sub Browse(strTag As String)
Dim dDialog As Office.FileDialog
Dim varDir As Variant
Set dDialog = Application.FileDialog(msoFileDialogFolderPicker)
dDialog.AllowMultiSelect = False
dDialog.Title = " Select Directory"
If dDialog.Show = True Then
For Each varDir In dDialog.SelectedItems
Me!txtPath = varDir
Next
End If
End Sub

Do I need MS's private function?

Thanks in advance.

Nov 13 '05 #2
DFS
Wayne Morgan wrote:
You will also find an example for that here:
http://www.mvps.org/access/api/api0001.htm

The advantage of the longer method is that it calls the Windows API
and so should always work. Calling the Office Dialog could cause a
problem if you have mixed versions of Office. As you may have
noticed, in order to get the Office Dialog to work you had to set a
reference to "Microsoft Office 11.0 Object Library". This is version
specific. Moving up a version usually isn't a problem, but if you try
to open your file on an older version of Access that supports your
file format, this is likely to break and you'll have to go into the
references dialog to manually set it to the older library. Also, if
you are creating MDE files, you'll have to reset this for the version
of Access the MDE is going to be created in, before creating the MDE. This is one of the reasons and MDE has to be created on the same
version of Access that it is going to be run on.
Doesn't have to be. I created and delivered an Access 2000 .mde that ran
fine on Access 2003 when my clients upgraded.

"deko" <de**@hotmail.com> wrote in message
news:9P*****************@newssvr21.news.prodigy.co m...
What is the best way to get a Common Dialog in Access 2000 Standard
Edition?

Microsoft suggests this:

Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
"GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

Private Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type

(See: http://support.microsoft.com/default...b;en-us;303066)

In Access 2003 I was using this:

Private Sub Browse(strTag As String)
Dim dDialog As Office.FileDialog
Dim varDir As Variant
Set dDialog = Application.FileDialog(msoFileDialogFolderPicker)
dDialog.AllowMultiSelect = False
dDialog.Title = " Select Directory"
If dDialog.Show = True Then
For Each varDir In dDialog.SelectedItems
Me!txtPath = varDir
Next
End If
End Sub

Do I need MS's private function?

Thanks in advance.

Nov 13 '05 #3
Wayne Morgan wrote:
You will also find an example for that here:
http://www.mvps.org/access/api/api0001.htm

The advantage of the longer method is that it calls the Windows API and so
should always work.


Indeed it does. I used the above code in Access 97 and it ported to
Access 2003 with no difficulty whatsoever, no changes or tweaking required.
--
Tim http://www.ucs.mun.ca/~tmarshal/
^o<
/#) "Burp-beep, burp-beep, burp-beep?" - Quaker Jake
/^^ "What's UP, Dittoooooo?" - Ditto
Nov 13 '05 #4
Thanks, again though you were moving up to a newer version. Also, were you
using the runtime version of Access or the full version on the clients'
machines?

--
Wayne Morgan
MS Access MVP
"DFS" <no****@DFS.com> wrote in message
news:ap******************@fe02.lga...

Doesn't have to be. I created and delivered an Access 2000 .mde that ran
fine on Access 2003 when my clients upgraded.

Nov 13 '05 #5
DFS
Wayne Morgan wrote:
Thanks, again though you were moving up to a newer version. Also,
were you using the runtime version of Access or the full version on
the clients' machines?
Full version. In fact, I believe the default file format is Access 2000
when Access 2003 is installed. I know I've seen that on several machines.
Maybe that's only upgrades?



"DFS" <no****@DFS.com> wrote in message
news:ap******************@fe02.lga...

Doesn't have to be. I created and delivered an Access 2000 .mde
that ran fine on Access 2003 when my clients upgraded.

Nov 13 '05 #6
> The advantage of the longer method is that it calls the Windows API and so
should always work. Calling the Office Dialog could cause a problem if you
have mixed versions of Office. As you may have noticed, in order to get the Office Dialog to work you had to set a reference to "Microsoft Office 11.0
Object Library". This is version specific. Moving up a version usually isn't a problem, but if you try to open your file on an older version of Access
that supports your file format, this is likely to break and you'll have to
go into the references dialog to manually set it to the older library. Also, if you are creating MDE files, you'll have to reset this for the version of Access the MDE is going to be created in, before creating the MDE. This is
one of the reasons and MDE has to be created on the same version of Access
that it is going to be run on.


I think the Office Dialog is clearly better. Sort of like .NET - if MS
wants to abstract the API and make it easier for me, great. The more
productive and less arcane this business is the happier I am. But from a
manager's perspective, the API is clearly a better solution. I guess it
depends on how much control you have over your environment (which is usually
not much).

As an aside, you mention that "Moving up a version usually isn't a
problem..." I assume this the case for other references as well - e.g.
Excel, Internet Controls, Scripting Runtime. I'm thinking about my early
bound automation code and know from experience the unpredictable results
caused by broken references.
Nov 13 '05 #7
You're correct about the default file version, it is the 2000 file version
for Access 2000, 2002, and 2003. I believe that the problem comes in with
the "Microsoft Access x.x Object Library" and the runtime version. The
runtime is more restrictive in what it will let you do and I suspect that it
won't let the object library reference upgrade itself. I would have to
reinstall the older version to test this though. It should be testable by
creating and MDE in Access 2000 and opening it with Access 2003 using the
/runtime switch.

--
Wayne Morgan
MS Access MVP
"DFS" <no****@DFS.com> wrote in message
news:52******************@fe02.lga...

Full version. In fact, I believe the default file format is Access 2000
when Access 2003 is installed. I know I've seen that on several machines.
Maybe that's only upgrades?

Nov 13 '05 #8
Yes, I've run across this with Excel also. I can take a '97 Excel spread
sheet to a machine with Excel 2003 installed. If I open the spreadsheet on
that machine then take it back to the machine with Excel 97, the code will
error out until I reset the object libraries to the '97 versions. The DAO
library usually stays put (the newer machine has the old library available),
it's the Excel library that is usually the problem.

--
Wayne Morgan
MS Access MVP
"deko" <de**@hotmail.com> wrote in message
news:1R*****************@newssvr21.news.prodigy.co m...

As an aside, you mention that "Moving up a version usually isn't a
problem..." I assume this the case for other references as well - e.g.
Excel, Internet Controls, Scripting Runtime. I'm thinking about my early
bound automation code and know from experience the unpredictable results
caused by broken references.

Nov 13 '05 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Gord | last post by:
Hello, Does anyone know how to access the caption property on a command button within the common dialog control? Specificaly, I'm trying to change the caption of the 'Open' button in the 'Open...
3
by: Stephen Bishop | last post by:
Hi everyone, In using the SQL Server Database Wizard in Access 2000 to create a new access project, I get two consecutive error messages and then the wizard shuts down. The first, which apprears...
3
by: deko | last post by:
I need to use the Common Dialog box, but I'm having trouble getting started. Bear with me as this is new ground for me... First, I get an error trying to declare these functions -- compile error:...
4
by: Ron Nolan | last post by:
Re: Access 2000 Has anyone been able to find information in the online help on the topic of "Common Dialog Control? If so, what did you type in your search to receive the information? I've been...
4
by: Barry Young | last post by:
I have Access 2000 installed on a machine and I create the MDE just fine. When I copy the MDE file over to another machine that has Access 2000 installed, the references are hosed and I get unable...
8
by: deko | last post by:
Is it possible to develop an Access app in Access 2003 that will run on Access 2000? Is it just a matter of selecting "Access 2000" from the Default File Format drop down list on the Advanced Tab...
2
by: gazelle04 | last post by:
I have an error using the Common Dialog Box control. I got an error that says "No fonts installed. Open Control Panel to install fonts.". I checked the fonts folder and there is so many fonts there....
13
by: Owen Jenkins | last post by:
Following on from an earlier post... I can reliably corrupt a record by doing the following ... Open two separate but identical front ends on one PC each linking to the same back end. Edit a...
8
by: Arno R | last post by:
Hi all. When I need to search for pictures, I always have too choose thumbnail-view manually. Is it possible to open the common dialog in thumbnail-view programmatically? Example ?? At the...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.