In my experience it's tricky automating Web pages as you have to allow for differing response times, unannounced changes to the page design and unexpected results from the page itself.
Having said that, I've done a little work and the page you quoted looks as though it might be amenable to being driven by a VBA script. I've produced a little bit of the code but you're going to have to put in some effort to get it working fully.
Here's the code:-
Code:
[FONT=Fixedsys]Option Explicit
[/FONT]
[FONT=Fixedsys]Public Sub QueryNPCA()
Const READYSTATE_COMPLETE As Integer = 4
Dim objIE As Object[/FONT]
[FONT=Fixedsys] Set objIE = CreateObject("InternetExplorer.Application")
With objIE
.Visible = True
.Silent = True
.Navigate ("[/FONT][URL="http://www.reservations.npca.ca/en/findbyattr.cgi?p=255"][FONT=Fixedsys]http://www.reservations.npca.ca/en/findbyattr.cgi?p=255[/FONT][/URL][FONT=Fixedsys]")
Do Until .ReadyState = READYSTATE_COMPLETE
DoEvents
Loop
Application.Wait Now() + TimeValue("00:00:02")
.document.all.park.Value = 255
Application.Wait Now() + TimeValue("00:00:02")
.document.all.ground.Value = 771
Application.Wait Now() + TimeValue("00:00:02")
.document.all.year1.Value = 2012
Application.Wait Now() + TimeValue("00:00:02")
.document.all.month1.Value = 6
Application.Wait Now() + TimeValue("00:00:02")
.document.all.day1.Value = 21
Application.Wait Now() + TimeValue("00:00:02")
.document.all.sel_nights_for_add.Value = 3
.document.forms(0).submit
Do Until .ReadyState = READYSTATE_COMPLETE
DoEvents
Loop
Application.Wait Now() + TimeValue("00:00:02")
End With[/FONT]
[FONT=Fixedsys] ' objIE.Quit
' Set objIE = Nothing
End Sub[/FONT]
If you look through it, you will see where and how it selects the park and ground. These are numerical values which are hard-coded in the HTML of the Web page: 255 and 771 are Binbrook and Picnic Pavilions - if you want to select others then you will need to examine the source HTML of the page and ascertain the appropriate values. (There are some tables towards the end of the source HTML which look useful.)
The code then attempts to set the first set of date drop-downs to 21 June 2012. I say "attempts" because the month works okay but the year and day don't appear to. The number of nights seems to work okay though.
Finally the form is submitted, although nothing happens because I suspect there's not enough information entered in on the form.
(I've inserted two-second delays between the handling of each field so when you run the code, you can see the form as it fills up.)
I stress this code is only a proof of concept - an indication that these techniques appear to work. It can form the basis of a finished product but not without some additional effort on your part.
Your task from this point forwards is to work out how to fill in the remainder of the fields including the ones which don't appear to be working and come up with some strategy for selecting the correct codes for the park and ground (and probably the equipment and service). If you need to check a variety of parks/grounds/dates/equipment/service, then you'll need to store the various combinations you want to pass to the form and write some code to cycle through them and then capture the results, resetting the form after each cycle.
You're going to have to acquire some HTML skills in order to work out what you need to send to the form and some VBA skills to wrap the whole thing up in a presentable fashion. I can help with advice regarding VBA in very general terms but my knowledge of HTML is shaky as fas as forms are concerned.
I suspect this isn't what you wanted to hear but it's not something simple that you're wanting to do, since the effective source of your data is not under your control and you're unlikely to receive any assistance from the owners of that data which will help you write your code.