office交流網(wǎng)--QQ交流群號及微信交流群

Access培訓(xùn)群:792054000         Excel免費交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請用微信掃碼)

        

Access通過Microsoft.XMLHTTP獲取軟件最新版本號并實現(xiàn)軟件有新版本需要更新的提醒(放在網(wǎng)站指定頁面)

2017-08-13 19:23:00
zstmtony
原創(chuàng)
4429

Access通過Microsoft.XMLHTTP獲取軟件最新版本號并實現(xiàn)軟件有新版本需要更新的提醒

(最新版本號放在網(wǎng)站指定頁面)


Access通用開發(fā)平臺有一個檢查平臺最新版本與平臺當(dāng)前的版本對比,如果版本不一致,就提示用戶有新版本,請更新

這個函數(shù)的源碼現(xiàn)在分享給大家,大家可用在自己的Access數(shù)據(jù)庫中。

這個函數(shù)的原理,就是在服務(wù)器的指定目錄下放置一個 你的軟件最新的版本號的文本文件,里面只有一個內(nèi)容,版本號,如:1.0.0.1

如我將我的Access軟件 的最新版本號放在網(wǎng)站上 這個路徑:

http://m.mzhfr.cn/Version/newVer.txt


然后通過

Microsoft.XMLHTTP, 使用get 方法 來獲取這個文本文件里的版本號的值,并返回給函數(shù)


這個函數(shù)調(diào)用非常方便。但需要注意

1.如果使用的電腦網(wǎng)絡(luò) 連接不暢或網(wǎng)絡(luò) 比較慢,或無法訪問外網(wǎng),函數(shù)會執(zhí)行一段時間,如果網(wǎng)絡(luò) 很慢的話,可能會花去比較長的時間

2.所以最好是在執(zhí)行這個函數(shù)前再做一個ping的函數(shù),判斷網(wǎng)絡(luò) 是否通。不通的話,就跳過這個版本判斷 。網(wǎng)絡(luò) 通的話,則判斷


獲取Access軟件系統(tǒng)最新版本的通用函數(shù)的源碼如下:


Public Function gf_CheckNewVer() As String
'檢測新版本, 如果與本地版本不符,則提醒用戶 有新版本
’Access交流網(wǎng)通用開發(fā)平臺 檢查 最新版本的函數(shù)    
    On Error GoTo Err_Handler
  
    Dim lngStartTime As Long
    Dim lngTry As Long
    
    Dim h As Object
    Dim strCurrentVer  As String
    Dim strNewVer As String
    Dim strIniFile As String
 
    '有時連到下一頁 提示出錯 ,如果出錯,就代碼再嘗試一次,2次出錯且超時時間大于20秒就返回
    lngStartTime = Timer
      
NxtTry:
    On Error GoTo Err_Handler
 
    gf_CheckNewVer = ""

    Set h = CreateObject("Microsoft.XMLHTTP")
      

    h.Open "GET", "http://m.mzhfr.cn/Version/newVer.txt", False
    h.SetRequestHeader "If-Modified-Since", "0" '禁止緩存 

    h.Send     

    If h.Status = 200 Then  'h.readyState = 4 '這個有時也不準
        strNewVer = StrConv(h.responseBody, vbUnicode)
         
        Set h = Nothing
    Else
        Set h = Nothing
    End If
    Dim Customer As String
    Dim strCustCode As String
    Dim lngCustId As Long
    
 
    gf_CheckNewVer = strNewVer
    
 
    strCurrentVer = gstrVersion
 

Exit Function

Err_Handler:
    gf_CheckNewVer = ""
    Select Case Err.Number
    Case 5415
        lngTry = lngTry + 1 
        If lngTry < 2 And (Timer - lngStartTime) < 30 Then GoTo NxtTry End If End Select End Function
分享
文章分類
聯(lián)系我們
聯(lián)系人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動訪問