設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

返回列表 發(fā)新帖
查看: 8047|回復(fù): 9
打印 上一主題 下一主題

一個(gè)關(guān)于ACCESS應(yīng)用程序升級的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2009-4-20 23:51:48 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
用ACCESS2000編寫一個(gè)應(yīng)用程序,發(fā)布分發(fā)后,因?yàn)閷Τ绦蜃隽税姹旧墸梢栽诔绦虻牡卿洿翱诖蜷_時(shí)自動檢查版本號,發(fā)現(xiàn)有新版本時(shí)彈出一個(gè)窗口,提示升級,用戶通過選擇“升級”、“暫不升級”按鈕選擇。

      當(dāng)用戶選擇“升級”,程序要從局域網(wǎng)服務(wù)器,IP:“fpt://192.168.100.3”下載“采購管理.rar“文件,然后解壓。關(guān)閉正在運(yùn)行的應(yīng)用程序,運(yùn)行安裝包來升級應(yīng)用程序。

問題:如何編寫下載文件的代碼?如何用xp內(nèi)置下載工具下載?

請高手給出一個(gè)例程。謝謝!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱
2#
發(fā)表于 2009-4-21 06:59:59 | 只看該作者
如何在局域網(wǎng)上實(shí)現(xiàn)自動升級?
(A)
1.建一個(gè)啟動程序log_on.mdb
2.判斷本地主程序與服務(wù)器端主程序的版本是否一致
  采用GetVersion函數(shù)來獲得版本號
Public Function GetVersion(FileName As String, strPWS As String) As String
    Dim rst As ADODB.Recordset
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & FileName & ";jet oledb:database password='" & strPWS & "'"
    strSQL = "select * from tblversion"
    Set rst = New ADODB.Recordset
    rst.CursorLocation = adUseClient
    rst.Open strSQL, strConn
    rst.MoveFirst
    GetVersion = rst!Version
    rst.Close
    Set rst = Nothing
End Function  
3.將服務(wù)器端的主程序替換本地主程序
    Dim SourceFile As String
    Dim DestinationFile As String
    Dim localVision As String
    Dim serverVision As String
    ' 指定服務(wù)器上的文件名。
    ' SourceFile = "\\172.16.172.6\server\main.mdb"
    SourceFile = CurrentProject.Path + "\server\main.mdb"
    ' 指定本地文件名。
    DestinationFile = CurrentProject.Path + "\main.mdb"
    If Dir(SourceFile) = "" Then
        MsgBox SourceFile & vbCrLf & "網(wǎng)路不通或文件不存在!", vbCritical, "提示"
        Exit Sub
    End If
    '獲得本地主程序的版本號
    localVision = GetVersion(DestinationFile, "")
    '獲得服務(wù)器端升級文件的版本號
    serverVision = GetVersion(SourceFile, "")
    If localVision = serverVision Then
        '運(yùn)行主程序
        OpenDB
    Else
        MsgBox "版本不同,現(xiàn)在開始升級!", vbInformation, "提示"
        FileCopy SourceFile, DestinationFile
        MsgBox "版本升級結(jié)束!", vbInformation, "提示"
        '運(yùn)行主程序
        OpenDB
    End If
3#
發(fā)表于 2009-4-21 07:00:21 | 只看該作者
4.替換結(jié)束后運(yùn)行主程序
Public Sub OpenDB()
    Dim strDB As String
    strDB = CurrentProject.Path & "\main.mdb"
    Set appAccess = CreateObject("Access.Application")
    Set db = appAccess.DBEngine.OpenDatabase(strDB, False, False, "WD=")
    appAccess.OpenCurrentDatabase strDB
    If Val(SysCmd(acSysCmdAccessVer)) = 9 Then
        appAccess.Visible = True
    End If
    DoCmd.Quit
End Sub
4#
 樓主| 發(fā)表于 2009-4-22 16:36:13 | 只看該作者
謝了,得到很好的啟發(fā)。
5#
發(fā)表于 2009-4-30 11:41:18 | 只看該作者
看看我先前發(fā)布的吧,能解決你的問題!
http://ctxi.cn/forum.p ... 2%C8%AB%C6%F4%B6%AF
6#
 樓主| 發(fā)表于 2009-5-3 01:48:39 | 只看該作者
beenet 兄:你的例程已下載,可是我只安裝office 2000,打不開例程,一個(gè)字:急!你能將例程轉(zhuǎn)換為office2000版本再放上來嗎? 謝謝先!
7#
 樓主| 發(fā)表于 2009-5-3 15:37:16 | 只看該作者
根據(jù)beenet 兄的例程,我轉(zhuǎn)換成OFFICE2000格式,并對表做了小修改,解決了在線升級問題,不敢獨(dú)享,特將新例程放上來共享,期望遇到類似問題的弟兄們得到啟發(fā)。

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x
8#
發(fā)表于 2010-5-24 06:53:02 | 只看該作者
又花錢看看
9#
發(fā)表于 2011-12-15 15:54:08 | 只看該作者
錢從哪里來?
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機(jī)版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2024-10-23 06:26 , Processed in 0.225609 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表