SEARCHING FOR OTHER FILES FROM MSACCESS
How to Browse for Folders or Files from MS-Access? If we can, then what do we do with the File(s) we bring into Access. Well, you can copy it from one place to the other for an example. Anyway let us get to work with the first part. But before that, a preview of the Run of our whole Project is given below and we will be working towards that with a small Form and with an On-Click Event Procedure:
This is the same Dialog Control that Opens up when you select the File(Open Menu Item. But here we got it when you click the Browse. . . Button given next to the Text-Box Control. When it comes up we are free to move around and select what we want and when you do the selected File will be inserted into the Text-Box control to the left of the Browse. . . Button.
Now let us get to work. Design a Small (or Big as you wish) Form as shown below and the Controls on the Form are already familiar to you as explained above except one. But I will list all of them below for info.
- Open a new Form and Create a Text-Box Control.
- Create a Command Button as shown in the above Design, display its Property Sheet and change the properties as given below:
- Now it is time to bring in the real hero element of our design: the Microsoft Common Dialog Control, to do that follow the procedure given below:
i) Change the Caption of the child-label to File Path Name:
ii). Display the property sheet of the Text-Box control and change the Name property to lbldb.
i) Name = cmdBrowse
ii) Caption = Browse. . .
- Select ActiveX Control from Insert Menu
- You will find a List of ActiveX Controls opens up, scroll down and select the Microsoft Common Dialog Control and Click OK. If you didn't met any trouble on the way you will find a square shaped control sitting on your design surface. If your MS-Office installation is not properly done it is likely that you may end with a message like 'this ActiveX DLL is not registered, re-install it' etc.
Display the Property Sheet of the Common Dialog Control and change the Name property to cmDialog1. You can place it anywhere at your convenience, it will not be visible when you activate your Form.
- Copy the Following Visual Basic Code and paste it into our Form's Code Module and complete the design by saving the Form.
Private Sub cmdBrowse_Click()
Dim VFile As String
On Error GoTo cmdBrowse_Click_Err
ChDrive ("C")
ChDir ("C:\")
cmDialog1.Filter = "All Files (*.*)|*.*| _ Text Files (*.txt)|*.txt|Excel WorkBooks (*.xls)|*.xls" cmDialog1.FilterIndex = 1
cmDialog1.Action = 1
If cmDialog1.FileName = "" Then
VFile = cmDialog1.FileName
Me!lbldb = VFile
End If
cmdBrowse_Click_Exit:
Exit Sub
cmdBrowse_Click_Err:
MsgBox Err.Description, , "cmdBrowse_Click"
Resume cmdBrowse_Click_Exit
End Sub
Now activate the Form and click on the Browse Button. The File Browsing Control that we have seen at the beginning should open up. Select a file from any location and click Open. The selected file with its complete location address is inserted into the Text Box control.
Download Demo DatabaseCommand Button Animation
MsgBox with Office Assistant
Reminder Ticker Control











I know you posted this some 3 years ago but a client of mine needed maintenance in an Access application and this saved me a lot of time. Thank you for the tutorial and the SIMPLE way of making this work. Other tutorials were huge.
Thanks again!
You may try the following Code, if you are using MS-Access 2003. This sample code you can find on the Code Module of Employees Form in NorthWind.mdb database. The Program is run from the Add/Remove Button click on the Form.
Private Sub AddPicture_Click()
' Use the Office File Open dialog to get a file name to use
' as an employee picture.
getFileName
End Sub
Sub getFileName()
' Displays the Office File Open dialog to choose a file name
' for the current employee record. If the user selects a file
' display it in the image control.
Dim fileName As String
Dim result As Integer
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Select Employee Picture"
.Filters.Add "All Files", "*.*"
.Filters.Add "JPEGs", "*.jpg"
.Filters.Add "Bitmaps", "*.bmp"
.FilterIndex = 3
.AllowMultiSelect = False
.InitialFileName = CurrentProject.path
result = .Show
If (result <> 0) Then
fileName = Trim(.SelectedItems.Item(1))
Me![ImagePath].Visible = True
Me![ImagePath].SetFocus
Me![ImagePath].Text = fileName
Me![FirstName].SetFocus
Me![ImagePath].Visible = False
End If
End With
End Sub
You may modify it to suit to your requirement.
Regards,
I like the form but it doesnt work, it gives me the error message" object doesnt support this property or method"
thanks.
Hi – could you add a demo database of your browser lesson to your site? Having a demo version to compare to my own would be really useful!! Thanks.
You may download a Demo Database from the following link:
http://www.msaccesstips.com/downloads/2006/10/file-browser.shtml
Hi,
Thanks a lot!
The MS-Access 2002 example database contains the same code as the MS-Access 2003's. To find said database: http://support.microsoft.com/?scid=kb%3Ben-us%3B276376&x;=20&y;=10
Bye !
The Northwind example for Access 2003 is missing an operand. These lines:
If (result0) Then
should actually be
If (result <> 0) ThenIt was missing the not equal. It works great after that. Thanks.
The Code is corrected. Thanks for pointing out the Error.
I really liked this post, this one is going straight into my stumble upon akun :)
I want to thank the blogger very much not only for this post but also for his all previous efforts. I found thesimpleyoga.com to be greatly interesting. I will be coming back to thesimpleyoga.com for more information.
Bookmarked your website. Thank you for sharing. Definitely worth the time away from my workload.
I just wanted to comment your blog and say that I really enjoyed reading your blog post here. It was very informative and I also digg the way you write! Keep it up and I’ll be back to read more in the future…