This is a little VB program that checks the version on the server, and copies it down to the PC if a newer version is available. I use a table named Setup with a field named Item that holds a version number like: 20000907-1851 which means Sep 7, 2000 at 6:51 PM. Originally, we would ask if they wanted the new version, but we took that out.

The user's shortcut runs this program to open the database. If a newer version is available, it renames the local copy in the style "HTyymmdd..MDB" instead of just deleting it.

Sub Main()
  ' HTFS.EXE 5/11/2000
  ' 7/3/00 change server path
  ' Bill Mitchell wvmitchell@compuserve.com
  Const NetPath = "F:\ACCESS\HTFS\"
  Const LocalPath = "C:\HTFS\"
  Const MyDB = "HTFS_USA.MDB"
  Const MyLDB = "HTFS_USA.LDB"
  Const MSA = "C:\Program Files\Microsoft Office\Office\msaccess.exe "
  '
  Dim db As Database, rst As Recordset
  Dim s As String, t As String, resp
  Dim OldStyleName As String, LocalVersion As String, NetVersion As String
  ' 7/10/00 prevent multiple instances
  s = Dir(LocalPath & MyLDB, vbNormal)
  If Len(s) <> 0 Then
    ' 8/7/00 try to delete the ldb
    ' in case we crashed and it was left behind
    On Error Resume Next
    Kill LocalPath & MyLDB
    If Err.Number = 75 Then
      MsgBox Err.Description, vbInformation, "Error # " & Err.Number
      t = "You already have the HTFS database open." & vbCrLf & vbCrLf
      t = t & "Check the Windows taskbar at the bottom of the screen, " & vbCrLf
      t = t & "and click on the Microsoft Access icon." & vbCrLf & vbCrLf
      t = t & "If you need help, call your supervisor."
      MsgBox t, vbExclamation, "HTFS IS RUNNING"
      Exit Sub
    End If
  End If
  '
  On Error GoTo err_main
  s = "SELECT Item FROM Setup WHERE ID=9"
  ' get rev # from local file
  Set db = OpenDatabase(LocalPath & MyDB)
  Set rst = db.OpenRecordset(s)
  If Not (rst.BOF And rst.EOF) Then
    rst.MoveFirst
    LocalVersion = rst!Item
  End If
  rst.Close
  Set rst = Nothing
  db.Close
  ' get rev # from server file
  Set db = OpenDatabase(NetPath & MyDB)
  Set rst = db.OpenRecordset(s)
  If Not (rst.BOF And rst.EOF) Then
    rst.MoveFirst
    NetVersion = rst!Item
  End If
  rst.Close
  Set rst = Nothing
  db.Close
  If Len(LocalVersion) > 0 And Len(NetVersion) > 0 Then
    If NetVersion > LocalVersion Then
      ' 7/10/00 don't ask, just do it
      's = "There is a newer version on the server. Do you want to download it?"
      'resp = MsgBox(s, vbYesNo + vbQuestion + vbDefaultButton1, "VERSION")
      'If resp = vbYes Then
        ' rename the existing file in the old style, like 'HT000511'
        OldStyleName = "HT" & Mid(LocalVersion, 3, 6) & ".MDB"
        ' delete any existing "old name" file
        If Dir(LocalPath & OldStyleName) <> "" Then
          Kill LocalPath & OldStyleName
        End If
        Name LocalPath & MyDB As LocalPath & OldStyleName
        FileCopy NetPath & MyDB, LocalPath & MyDB
      'End If
    End If
  End If
  Shell MSA & LocalPath & MyDB, vbMaximizedFocus
exit_main:
  Exit Sub
  '
err_main:
  s = "Cannot copy file - please try later." & vbCrLf & vbCrLf & Err.Description
  MsgBox s, vbCritical, "ERROR CODE: " & Err.Number
  Resume exit_main
  '
End Sub