2011-09-30 21 views
0

我有一个参数查询,查询给定customer_order_ID的跟踪#并将跟踪#作为网站链接输出为一条记录。请告诉我如何在用户将customer_order_ID输入参数查询时自动运行链接,以便用户可以立即在UPS Worldship网站上跟踪包裹。我不知道VBA,也不了解SQL,但我可以制作宏。
非常感谢你提前参数查询运行超链接和打开网页,用于跟踪UPS包

SELECT T.order_ID, "http://wwwapps.ups.com/WebTracking/processInputRequest?sort_by=status&tracknums_displayed=1&TypeOfInquiryNumber=T&loc=en_us&InquiryNumber1=" & [T].[tracking_number] & "&track.x=0&track.y=0" AS link 
FROM tblShipmentDataFromAllCarriers AS T 
WHERE (((T.order_ID)=[Please enter customer order ID])); 
+1

我怀疑你会需要一个用户定义的函数来从超链接返回数据。我注意到,UPS提供了apis,我认为,免费的网络跟踪。 – Fionnuala

回答

2

如果您不需要解析返回数据,只是想打开网页,你可以使用Application.FollowHyperlink。但你并不需要做的串联与SQL中的URL:

SELECT T.order_ID, [T].[tracking_number] 
FROM tblShipmentDataFromAllCarriers AS T 
WHERE (((T.order_ID)=[Please enter customer order ID])); 

然后你可以在URL的其余部分存储为常量:

Const c_strURL1 = "http://wwwapps.ups.com/WebTracking/processInputRequest?sort_by=status&tracknums_displayed=1&TypeOfInquiryNumber=T&loc=en_us&InquiryNumber1=" 
Const c_strURL2 = "&track.x=0&track.y=0" 

...然后执行它像这样:

Public Sub DisplayTrackingNumber(ByVal strOrderID As String) 
    Dim strTrackingNumber As String 

    strTrackingNumber = DLookup("tracking_number", "tblShipmentDataFromAllCarriers", "[order_ID]=" & strOrderID) 

    Application.FollowHyperlink strUrl1 & strTrackingNumber & strUrl2 
End Sub 

你会那么必须有一个UI从用户收集的OrderID(我建议用组合框的形式),然后调用此子。