Avatar billede mr_jonez Nybegynder
27. maj 2004 - 16:00 Der er 29 kommentarer og
5 løsninger

Autoopdatering af frontend.

Hey Er der nogle der har en løsning på hvordan jeg kan få opdateret mine frontend, da 3 af dem køre via VPN, så kunne det være fedt at jeg bare kunne ligge den nye version i en mappe på serveren og når de så logger på / starter access at den lige kikker om der ligger en ny version.?!

Nogle spørgsmål så kom med dem, så skal jeg svare.! :-)
27. maj 2004 - 16:03 #1
Det er tricky, men jeg har en liggende her: http://www.makeiteasy.dk/eksempler/TilSalg.htm

Den er dog ikke gratis, men der er en downloadable demo
Avatar billede juks Novice
27. maj 2004 - 16:11 #2
jeg har en gratis løsning ,... da jeg vist husker noget om man ikke må tilbyde løsninger her på eksperten der koster$ det er vist lidt imod politikken ...

http://www.eksperten.dk/spm/404008
27. maj 2004 - 16:19 #3
det er ikke mod ekspertens politik at henvise til løsninger, som kan købes på nettet. Hvad hvis én spørger hvor han kan anskaffe sig Access fra? Så må ingen svare....?

Men din løsning er smart og simpelt. Flere af mine kunder opdatere også bare frontenden automatisk via deres login-script. Eller har en .bat-fil liggende på skrivebordet, som laver en alm. xcopy.
Der er mange muligheder. Min løsning er helt sikkert bare den mest brugervenlige (og smarteste, synes jeg selv :)
Avatar billede juks Novice
27. maj 2004 - 16:30 #4
det vil jeg ikke sige har kigger på den men den vil kræve aktiv indsats fra brugeren det vil et script ikke
Avatar billede juks Novice
27. maj 2004 - 16:33 #5
og med min ringe erfaring så skal man ungå at brugeren selv skal gøre noget . så er der mindre risiko for det går galt
27. maj 2004 - 16:37 #6
Den aktive indsats består i at brugeren skal klikke på en ok-knap. Samtidig kan den opdateres MENS frontenden er i luften.
Men lad os ikke diskutere det.
Avatar billede terry Ekspert
27. maj 2004 - 20:47 #7
Avatar billede mr_jonez Nybegynder
28. maj 2004 - 09:59 #8
-> juks jeg har kikket på det link du har lagt, men hvordan få jeg det til at køre som det skal.?!

-> terry fint program men igen koster det penge desvære er denne database en low price/ no price. men tak.!!
Avatar billede terry Ekspert
28. maj 2004 - 11:15 #9
I think I saw a solution in some PC magazine recently. I'll take a look and get back over the weekend.
Avatar billede juks Novice
28. maj 2004 - 11:15 #10
jeg er lidt i tvivl når det er via vpn , men i givet fald skal stien(filespec1) være til et mappet drev..
du skal så lave  koden fra http://www.eksperten.dk/spm/404008 om til et vbscript og lade brugerne køre vbscriptet i stedet for at åbne databasen ..

filespec1 skal indeholde stien til din server
fx
filespec1 = ("\\server\Databaser\frontend\frontend.mdb")

filespec skal vise hvor din lokale database/frontend ligger
fx
filespec = ("c:\databaser\frontend.mdb")
Avatar billede juks Novice
28. maj 2004 - 11:17 #11
dette vbscript tjekker hvergang du/brugerne åbner databasen . du kan selvfølgelig også bare kopier filerne hvergang en bruger logger på via vpn..
Avatar billede mr_jonez Nybegynder
28. maj 2004 - 11:46 #12
Men den genstarter jo ikke selv databasen eller det gør den ikke hos mig ;-) skal brugeren så selv genstarte eller er det bare min der laver lort (win xp og access 2002)
Avatar billede juks Novice
28. maj 2004 - 11:52 #13
ja den vil kun opdatere filen , når man åbne databasen ...
ellers skal du lave en funktion (timer)i access der tjekker om der er kommet en ny version og så kommer med en msgbox om at databasen lukkes pga opdatering

men du kan ikke uden videre bare opdatere en base der er åben den skal være lukket..  der er som at saven den gren over du sidder på ..

HVad er det helt præcist du søger ..
du skrev det var når de loggede på så skulle den opdatere basen hvis der var en ny
Avatar billede mr_jonez Nybegynder
28. maj 2004 - 11:56 #14
Jamen det script du har linket til der meget fint og kan det den skal men jeg kan ikke se de ændringer der er fortaget får jeg har lukket og åbnet databasen efter opdatering.! Og jeg regner ikke med at to damer på +50 husker at lukkke og åbne databasen efter opdatering. Kan du følge mig.?
Avatar billede juks Novice
28. maj 2004 - 11:59 #15
så er der noget galt den skal kopiere databasen også åbne databsen efter den har kopieret....
Avatar billede juks Novice
28. maj 2004 - 12:01 #16
prøv at tjekke hvilke properties filen har ved at lave en msgbox s og msgbox s1
Avatar billede juks Novice
28. maj 2004 - 12:03 #17
den kan have noget med tiden at gøre. hvis fx tiden på pc'en er 2-3 min efter  men som relgt vil der jo gå fx en dag eller timere inden der kommer en ny base og vil det ikke give noget problem..
Avatar billede mr_jonez Nybegynder
28. maj 2004 - 12:04 #18
Fra en markro der heder Autoexec kalder jeg update()  også videre viker ikke skide godt hvad laver jeg galt.!


Public Function update()
Dim fs, f, s, fs1, f1, s1, filespec1, filespec, fso, f2

filespec1 = ("\\Server-01\ON-IT\Frontend\front.mdb")
  Set fs1 = CreateObject("Scripting.FileSystemObject")
    filespec = ("c:\on-it\databaser\front.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 lokalt" & vbCrLf & "vent venligst  medens kopieringen foretages! ", 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

  End If
  End If
End Function
Avatar billede juks Novice
28. maj 2004 - 12:10 #19
det kan du ikke ...
du kan jo ikke opdatere den base du er igang med at bruge ...
det er som at save den gren over du sidder på ...
lav det til et vbscript ...
sæt koden ind i en text fil og gem som xxx.vbs


og prøv så lige at læse det jeg har skrevet i de tidligere posts
Avatar billede juks Novice
28. maj 2004 - 12:11 #20
ellers lig din mail så skal jeg prøve at sende det vbs til dig
Avatar billede mr_jonez Nybegynder
28. maj 2004 - 12:20 #21
jonas.bjerring@hplp-data.dk
Avatar billede juks Novice
28. maj 2004 - 12:22 #22
sendt
Avatar billede mr_jonez Nybegynder
28. maj 2004 - 12:23 #23
Der er point til juks.! det virker nu.! takker.!
Avatar billede juks Novice
28. maj 2004 - 12:23 #24
du skal bruge den fil jeg sendte til dig til at åbne basen med ... ikke ligge den ind i access. den skal bruges som genvej til basen
Avatar billede mr_jonez Nybegynder
28. maj 2004 - 12:37 #25
Hmm jamen så virker det ikke.! den mener det er en ny version hele tiden hæ hæ og den åbner ikke basen.!
Avatar billede juks Novice
29. maj 2004 - 10:50 #26
hvilket stryre system bruger i..
du kunne jo også lave det sådan at når de logger på via vpn så overfører den filen automatisk ...
Avatar billede juks Novice
29. maj 2004 - 10:53 #27
ahh jeg tror godt jeg ved hvorfor den ikke åbner basen ...
det kan hænge sammen med den ikke forstår "on-it" prøv at ændre det til onit

ellers
prøv lige at skrive
msgbox  filespec
msgbox  filespec1

til alle sidst lige før
"end function "

så kan du se om det er de rigtige stier den finder
Avatar billede mr_jonez Nybegynder
29. maj 2004 - 12:51 #28
Nu åbner den som den skal men den mener stadig at der er en ny version være gang scriptet bliver kørt. der køres win xp pro og win 98.
Avatar billede mr_jonez Nybegynder
29. maj 2004 - 12:54 #29
Men så snart jeg fjerne
msgbox  filespec
msgbox  filespec1

så åbner den ikke mere.! (-:
Avatar billede juks Novice
01. juni 2004 - 09:35 #30
Dim fs, f, s, fs1, f1, s1, filespec1, filespec, fso, f2



filespec1 = ("\\Server\ON-IT\Frontend\front.mdb")
  Set fs1 = CreateObject("Scripting.FileSystemObject")
    filespec = ("c:\on-it\databaser\front.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 lokalt" & vbCrLf & "vent venligst  medens kopieringen foretages! ", 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

  End If
  End If
Avatar billede juks Novice
01. juni 2004 - 09:37 #31
denne virker i windows 2000 jeg har tidligere haft problemer i winxp ...
skal lige finde løsningen ...
og grunden til den opdaterede hele tiden var fordi < skulle skiiftes med =  i den første if-sætning (If s = s1 Then)
Avatar billede juks Novice
01. juni 2004 - 09:39 #32
prøv denne her ..
Avatar billede juks Novice
01. juni 2004 - 09:39 #33
Dim fs, f, s, fs1, f1, s1, filespec1, filespec, fso, f2

filespec1 = ("\\Server\ON-IT\Frontend\front.mdb")
  Set fs1 = CreateObject("Scripting.FileSystemObject")
    filespec = ("c:\on-it\databaser\front.mdb")
  Set fs = CreateObject("Scripting.FileSystemObject")

If fs.FileExists(filespec) And fs1.FileExists(filespec1) Then

      Set f1 = fs1.GetFile(filespec)
    s1 =  f1.DateLastModified
    Set f = fs.GetFile(filespec1)
    s = f.DateLastModified

If s <= s1 Then

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run filespec
WshShell.Popup " ", 1, "", 32

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
WshShell.Popup " ", 1, "", 32


End If
Else
If fs.FileExists(filespec) Then
Set WshShell = CreateObject("WScript.Shell")
WshShell.Popup " Du er ikke tilknyttet serveren" & vbCrLf & "Opdatering af frontenden ikke muligt" & vbCrLf & "Såfremt du er til knyttet serveren kontakt JHC 20706424", , "Opdatering Af frontend", 32

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run filespec
WshShell.Popup " ", 1, "", 32

Else
Set WshShell = CreateObject("WScript.Shell")
WshShell.Popup "Der er ingen frontend medens kopieringen foretages" & 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
WshShell.Popup " ", 1, "", 32

  End If
  End If
Avatar billede mr_jonez Nybegynder
01. juni 2004 - 14:08 #34
Har fået den til at virke ved at endreWshShell.Run filespec
til WshShell.Run filespec,1, True men mange tak for hjælpen.!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester