Solved

Opening a website and submit a value to a specific field in access 2016

Posted on 2016-10-01
10
68 Views
Last Modified: 2016-10-11
I'd like automate the process of opening a web page, submit a tracking number and run the page to get the status in Access 2016 vba via a click event of a button. Attached is how the tracking webpage is like. Any help is appreciated.
tracking-page.JPG
0
Comment
Question by:thao-nhi
10 Comments
 
LVL 33

Expert Comment

by:ste5an
ID: 41825158
It depends on the tracking site and how much JavaScript is involved.

A normal HTML form can be queries by using MSXML2.XMLHTTP with the appropriate POST form variables.
Otherwise you need a WebBrowser control and automate it.
0
 

Author Comment

by:thao-nhi
ID: 41825295
Could you help further with examples of webbrowser control to post the tracking number and get the result? Thanks
0
 
LVL 33

Expert Comment

by:ste5an
ID: 41825297
Not as long I don't know that site. Cause it solely depends on it.
0
Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

 
LVL 19
ID: 41825650
UPS? FedEx? USPS? Something else? As ste5an said, it depends on what site you are using
0
 

Author Comment

by:thao-nhi
ID: 41825653
Canada post is the site.
0
 

Author Comment

by:thao-nhi
ID: 41825655
0
 
LVL 33

Expert Comment

by:ste5an
ID: 41826185
First of all: Your previous screen shoot is completely different then what I see on www.canadapost.ca.

CAVEAT: I don't know whether it is legal use of that site to do this (IANAL).

But just take a look at the tracking form:

<form enctype="application/x-www-form-urlencoded" action="/cpotools/apps/track/personal/findByTrackNumber" method="post" name="widgetForm" id="widgetForm">
	<label for="csho" class="visually-hidden">Enter the Number</label>
	<select class="csho" id="csho" data-placeholder="Select Your Options">
		<option value="tracknumber" selected="selected">Tracking number</option>
		<option value="deliverynotice">Delivery notice card number</option>
		<option value="referencenumber">Reference number</option>
	</select>

	<label for="trackingNumber" class="visually-hidden">Enter the Number</label>
	<input type="text" placeholder="Example: 23476542897" id="trackingNumber" name="trackingNumber" title="Enter the Number" />
	<span class="searchpipe">&nbsp;</span>
	<div class="searchButton">Find</div> 
	<div class="tracknumber">
		<span class="trackingText">
			Enter up to 24 tracking numbers, separated by commas
		</span> 
	</div>

	<div class="referencenumber">
		<div class="outsideref">
			<span class="trackingText">
				Enter up to 24 numbers, separated by commas
			</span>
			<div class="row">
				<div class="large-6 medium-6 small-6 columns">
					<label for="dateFrom" style="visibility: hidden;">Date From</label>
				</div> 
				<div class="large-6 medium-6 small-6 columns">
					<label for="dateTo" style="visibility: hidden;">Date To</label>
				</div>
			</div>  
			<div class="row"><!--ct-->
				<div class="large-6 medium-6 small-6 columns">
					<input type="text" class="radius" value="" id="dateFrom" placeholder="Date From">  
				</div> 
				<div class="large-6 medium-6 small-6 columns">
					<input type="text" id="dateTo" value="" class="radius" placeholder="Date To">
				</div>
			</div>
		</div>                       
	</div>

	<div class="deliverynotice">
		<span class="trackingText">
			Enter up to 24 tracking numbers, separated by commas
		</span> 
	</div>
	<input type="submit" style="position: absolute; left: -9999px; width: 1px; height: 1px;"/>
</form>

Open in new window


So just send a post request to /cpotools/apps/track/personal/findByTrackNumber where the parameter name is trackingNumber and the value URL encoded.

As an exercise for you and to help to understand what you need to do: Use Fiddler to see the corresponding HTTP traffic.
0
 

Author Comment

by:thao-nhi
ID: 41829025
Thanks for the help but so far I still have no idea how to go about this.
0
 
LVL 33

Assisted Solution

by:ste5an
ste5an earned 250 total points
ID: 41829468
Have you installed Fiddler? Then use it and send a tracking request on that site. Evaluate the HTTP(S) traffic in Fiddler. Look for the form submit. This is the request you have to replay by using MSXML-XMLHttp.
0
 
LVL 39

Accepted Solution

by:
als315 earned 250 total points
ID: 41830380
Look at sample. Enter tracking number and press Dowload. You will se result in window
Capture-Web-Data.accdb
0

Featured Post

Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
type of query 11 42
Migrating Macro Menu’s From Access 2003 to Access 2013 2 32
Combobox row source 2 21
Batch Export Reports (with multiple parameters) As PDF 2 23
When you are entering numbers in a speadsheet, and don't remember what 6×7 is, you just type “=6*7" instead. It works in every cell! This is not so in Access. To enter the elusive 42 in a text box, you have to find a calculator, and then copy the re…
Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question