io ho predisposto nel front-end due tabelle chiamate versione_caricata (questa risiede proprio sul front-end) e nuova_versione (collegata dal back-end) composte entrambe da un solo campo chiamato versione.Originariamente inviato da wallrider
come hai ovviato alle manutenzioni sul DB frontend (tipo modifiche query o maschere, aggiungere/rimuovere tabelle collegate)? te lo chiedo perchè farsi il giro di tutti i pc mi sembra un po' dispendioso
in apertura del db faccio verificare se il campo versione della tabella versione_caricata corrisponde al campo della tabella nuova_versione, se sono uguali non faccio nulla altrimenti tramite questo codice (non è mio):
salvato come file .vbs faccio aggiornare la versione in locale.codice:****************************************************************** 'start code '******************************************************************* 'Nome: Compact.vbs 'Descrizione: compatta e riapre l'mdb in uso 'Autore: Federico Luciani 'Creato: 10/11/2000 'Utilizzo: dall'mdb eseguire: ' Dim strPath As String ' strPath = "wscript.exe " & "C:\Temp\Compact.vbs " & Chr$(34) & CurrentDb.Name & Chr$(34) ' Call Shell(strPath, vbNormalFocus) ' '******************************************************************* Set objArgs = WScript.Arguments Call Init() Dim objMDB Dim objFSO Dim strMdbFile 'nome e path dell'mdb passato come argomento allo script strMdbFile = objArgs(0) Set objFSO = CreateObject("Scripting.FileSystemObject") 'si collega alla sessione access aperta Set objMDB = WScript.GetObject(strMdbFile) 'minimizza la finestra di access objMDB.RunCommand 11 'chiude l'mdb in uso objMDB.CloseCurrentDatabase 'copia il file objFSO.CopyFile "\\percorso\nome db.mdb", "percorso\nome db.mdb" 'riapre l'mdb compattato objMDB.OpenCurrentDatabase strMdbFile 'maximizza la finestra di access objMDB.RunCommand 10 Set objFSO = nothing Set objMDB = nothing '******************************************************************* 'Controlla che il parametro sia un file mdb '******************************************************************* Sub Init() 'controlla che l'argomento sia un mdb If objArgs.Count < 1 Then WScript.Quit If Right(objArgs(0),4) <> ".mdb" Then Msgbox "Il file selezionato non e' un mdb.", 16, "Errore!" WScript.Quit End If End Sub '******************************************************************* 'end code '*******************************************************************
in questa maniera l'unica cosa che devo fare è modificare il numero della versione nelle tabelle prima di copiare il db nella cartella predisposta per le nuove versioni.
oltretutto in questa maniera ise qualche operatore è assente aggiornerà il db sempre con la versione più recente al suo rientro.