filespec1 = ("\\server\Auktion\Databaser\frontend\hmfrontend.mdb") Set fs1 = CreateObject("Scripting.FileSystemObject") filespec = ("c:\databaser\hmfrontend.mdb") Set fs = CreateObject("Scripting.FileSystemObject")
If fs.FileExists(filespec) And fs1.FileExists(filespec1) Then
Set f1 = fs1.GetFile(filespec1) s1 = s1 & f1.DateLastModified Set f = fs.GetFile(filespec) s = s & f.DateLastModified If s >= s1 Then Set WshShell = CreateObject("WScript.Shell") WshShell.Run filespec Set WshShell = Nothing Else Set WshShell = CreateObject("WScript.Shell") WshShell.Popup "Ny version af databasen" & vbCrLf & "vent venligst! ", 2, "Opdatering Af frontend", 32
Set fso = CreateObject("Scripting.FileSystemObject") Set f2 = fso.GetFile(filespec1) f2.Copy (filespec) Set WshShell = CreateObject("WScript.Shell") WshShell.Run filespec Set WshShell = Nothing
End If Else If fs.FileExists(filespec) Then msgbox " Du er ikke tilknyttet serveren" & vbCrLf & "Opdatering af frontenden ikke muligt" & vbCrLf & "Såfremt du er til knyttet serveren kontakt JHC 20706424" Set WshShell = CreateObject("WScript.Shell") WshShell.Run filespec
Else Set WshShell = CreateObject("WScript.Shell") WshShell.Popup "Der er ingen frontend medens kopieringen foretages" & vbCrLf & "vent venligst! ", 2, "Opdatering Af frontend", 32
Set WshShell = Nothing Set fso = CreateObject("Scripting.FileSystemObject") Set f2 = fso.GetFile(filespec1) f2.Copy (filespec) Set WshShell = CreateObject("WScript.Shell") WshShell.Run filespec
Ved ikke om det gør en forskel, men der er ingen grund til at oprette shell og fil-objekter flere gange - de kan snildt genbruges. Nedenstående virker fint på min XP:
Dim fso, f, f1 Dim strServerFile, strClientCopy
Set WshShell = CreateObject("WScript.Shell") Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(strClientCopy) And fso.FileExists(strServerFile) Then Set f1 = fso.GetFile(strServerFile) Set f = fso.GetFile(strClientCopy)
If CDate(f.DateLastModified) >= CDate(f1.DateLastModified) Then ' Klient up-to-date. Start databasen WshShell.Run strClientCopy Else ' Nyere fil på serveren. Opdatér og start databasen WshShell.Popup "Ny version af databasen" & vbCrLf & "vent venligst! ", 2, "Opdatering Af frontend", 32 f1.Copy (strClientCopy) WshShell.Run strClientCopy End If Else ' Tjek om der er forbindelse til serveren. Hvis ikke, start databasen lokalt hvis den findes If Not fso.FileExists(strServerFile) Then msgbox "Du er ikke tilknyttet serveren" & vbCrLf & "Opdatering af frontenden ikke muligt" & vbCrLf & "Såfremt du er til knyttet serveren kontakt JHC 20706424" If fso.FileExists(strClientCopy) Then WshShell.Run strClientCopy Else MsgBox "Ingen lokal database", 16 End If Else ' Der er forbindelse til filen på serveren - start kopiering Set WshShell = CreateObject("WScript.Shell") WshShell.Popup "Der er ingen frontend medens kopieringen foretages" & vbCrLf & "vent venligst! ", 2, "Opdatering Af frontend", 32 Set f1 = fso.GetFile(strServerFile) f1.Copy (strClientCopy) WshShell.Run strClientCopy End If End If
' Ryd op Set f = Nothing Set f1 = Nothing Set fso = Nothing Set WshShell = Nothing
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.