Browsing the World Wide Web is nothing new to us. But, how about organizing the Web Addresses of frequently visiting Websites in a Table and browse the Web from within an Access Form?
Not only Internet Sites, you can browse the
Intranet Website within your Local Area Network - Corporate LAN) too. All you have to do is to create an Access Form with a
Microsoft Web Browser Control and a few lines of VBA Code.
For example, the following VBA Code will open the GMail Web Site
http://www.gmail.com/ automatically when you open the Form with the Web Browser Control, as shown in the above image.:
Private Sub Form_Load()
Dim strURL As String
strURL = "http://www.gmail.com/"
Me.WebBrowser0.Navigate strURL
End Sub
Don't know how to do it? Try the following:
- Open a new Form in Design View.
- Click somewhere on the Detail Section of the Form to select that area.
- Select ActiveX Control... from Insert Menu.
- Look for the name Microsoft Web Browser in the displayed list of ActiveX Controls and select it.
- Click OK to insert a Web Browser Control on the Form.
- While the Control is still in selected state drag the right-bottom-corner sizing control to make it big enough on the Form so that you can view the Web Pages properly.
- Display the Property Sheet of the Browser Control (View - ->Properties).
- Change the Name Property Value to WebBrowserO to match with the name used in the above VBA Code.
- Select Code from View Menu to display the VBA Code Module of the Form.
- Copy and Paste the above Code into the Module.
- Save and Close the Form with the name myWebBrowser.
- Connect your PC to the Internet.
- Open myWebBrowser Form in normal View.
- Wait for few seconds to load the Web Page into the Control and to display.
We have used the Website Address directly in the Code. But, if you create a Table with the list of all the Website addresses that you visit very often then with a
Combo Box on the Form we can select the Web address to go to that site quickly. We need to make few changes in the above Code to make it flexible.
- Create a Table with a single field with the following details:
Table Name: WebSites
Field Name : WebAddress Data Type : Text Field Size: 255
- Save the Table Structure and open it in Datasheet View.
- Add few records with Web URLs that you visits frequently, save and close the Table.
- Make a Copy of the Form myWebBrowser and name the copy as myWebBrowser2.
- Open myWebBrowser2 in Design View.
- Display the Form Header Section (View - -> Form Header/Footer), if it is not already Visible.
- Expand the Form Header Section with enough height to create a Combo Box Control.
- Create a Combo Box using the WebSites Table.
- While the Combo Box is still in selected state display the Property Sheet (View - -> Properties).
- Change the following Property Values of the Combo Box:
Name : cboWeb
Width : 5"
Default Value : "http://www.gmail.com/" or any other Website Address Value you prefer.
- Select the child label attached to the Combo box and change the Caption Property Value to Web Address:
- Display the Code Module of the Form (View - -> Code).
- Copy and Paste the following Code into the Module replacing the existing lines.
Option Compare Database
Option Explicit
Dim WebObj As WebBrowser
Dim varURL As Variant
Private Sub cboWeb_Click()
GotoSite
End Sub
Private Sub cboWebLostFocus()
GotoSite
End Sub
Private Sub Form_Load()
Set WebObj = Me.WebBrowser0.Object
GotoSite
End Sub
Private Function GotoSite()
varURL = Me!cboWeb
If Len(Nz(varURL, "")) = 0 Then
Exit Function
End If
WebObj.Navigate varURL
End Function
- Save the Form and open it in Normal View.
- The Website address that you have inserted into the Default Value Property of the Combo Box will open up in the Browser Control.
- Select one of the other Website addresses you have added to the Table from the Combo Box.
- The Browser Window will open the new Website.
If we open other Web Pages by clicking on the Links from the displayed pages then we can navigate (go
Back or
Forward) between pages by adding few more lines of Code.
But, first let us have a look at the above Code to see what is happening there. We have declared a
Web Browser Object Variable and a
Variant Variable at the Global declaration area of the Module.
Created a separate Function
GotoSite() to respond to different
Events (Actions) on the Form without duplicating the Code everywhere.
For example: when we open the Form the
GotoSite() Function opens the
Default Value URL, we set in the Combo Box Property, through the
Form_Load() Event Procedure.
When you select a URL from the Combo Box the
cboWeb_Click() Event Procedure calls this Function to open the selected Web Page.
If you type a URL in the
Web Address Control
cboWeb and moves the Cursor out of the control the
Lost_Focus() Event Procedure runs the Function to open the URL you typed on the Address Control.
We will create few
Command Buttons on the Header of the Form, as shown to the right of the Combo box Control on the above design and write Subroutines with some simple
Browser Object Commands to navigate between Web Pages, which we may open from the displayed Web Pages.
- Open myWebBrowser2 Form in Design View.
- Display the Toolbox (if it is not visible then select Toolbox from View Menu.
- Create five Command Buttons to the right of the Combo Box.
- Display the Property Sheet of the first Command Button and change the Name Property and Caption Property Values to Home.
- Similarly, change the Name and Caption Property Values of the other Command Buttons with the values given below.
- Display the Code Module of the Form (View - ->Code), copy and paste the following Code into the VBA Module, below the existing Code lines.
Private Sub Home_Click()
On Error Resume Next
WebObj.GoHome
End Sub
Private Sub Back_Click()
On Error Resume Next
WebObj.GoBack
End Sub
Private Sub Forward_Click()
On Error Resume Next
WebObj.GoForward
End Sub
Private Sub Refresh_Click()
On Error Resume Next
WebObj.Refresh
End Sub
Private Sub Stop_Click()
On Error Resume Next
WebObj.Stop
End Sub
The
On Error Resume Next Statement prevents the Subroutines running into Error, when there are no Web Pages to Navigate to.
To test these Buttons you must click on few links on the displayed Web Page to open other Pages from the same Website and then use these Buttons to navigate between those opened pages.
The
Home Button will open the
Default Home page you set in the
Internet Explorer's Tools - -> Internet Options… Home Page - -> Address Control, not the default Value you set in the Combo Box.
Filter Function Output in ListBoxDynamic List Box ContentsOffice Assistant and MsgBox Menus-3Office Assistant and MsgBox Menus-2Office Assistant and MsgBox Menus