Una famiglia di sistemi di gestione per database relazionali di Microsoft progettati per semplificare l'uso.
In coda a ciascuna risposta.
Questo browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Buongiorno a tutti
Ho l'esigenza di chiudere Access al verificarsi di un certo evento con salvataggio dei dati e quindi riaprirlo. subito dopo averlo chiuso
Si può fare con vba?
Con quali comandi?
Ringrazio tutti per una risposta
Una famiglia di sistemi di gestione per database relazionali di Microsoft progettati per semplificare l'uso.
Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.
In coda a ciascuna risposta.
Ciao
If Dir(Application.CurrentProject.Path & "*riavvia.vbs*") = "" Then
cosa fa riferimento a riavvia.vbs ? a uno script
ma io cosa devo mettere in questo script?
Grazie della risposta
Gianmario
Ciao,
continuando a cercare ho trovato la seguente soluzione che non ho provato:
nell'evento su click di un pulsante della maschera aggiungi il seguente codice per creare lo script di riavvio:
Private Sub TuoPulsante_Click()
If Dir(Application.CurrentProject.Path & "\riavvia.vbs") = "" Then
Open Application.CurrentProject.Path & "\riavvia.vbs" For Output As #1
Print #1, "Dim shell"
Print #1, "Set shell = wscript.CreateObject(""Wscript.Shell"")"
Print #1, "shell.run """"""" & Environ("programfiles") & "\Microsoft
Office\OFFICE11\msaccess.exe"""" """"" & Application.CurrentProject.Path &
"\raccomandate.mdb"""""""
Print #1, "set shell = nothing"
Close #1
End If
docmd.quit
End Sube nell'evento su chiusura della maschera:
Private Sub form_close()
Call Shell("WScript.exe """ & Application.CurrentProject.Path &
"\riavvia.vbs", vbHide)
End SubFacci sapere
Ciao Mimmo
Ho visto la tua risposta. Domani la provo
Il motivo è questo
In access gira una routine che per qualche motivo esterno può bloccarsi.
Nella normale procedura aggiorna un campo tempo che funge da controllo per capire che si è verificato un blocco
Quindi vorrei mettere una routine di controllo in un altro database che nel caso di evento di blocco chiuda il database bloccato e lo riapra in modo da farlo ripartire
Gianmario
Ciao,
continuando a cercare ho trovato la seguente soluzione che non ho provato:
nell'evento su click di un pulsante della maschera aggiungi il seguente codice per creare lo script di riavvio:
Private Sub TuoPulsante_Click()
If Dir(Application.CurrentProject.Path & "\riavvia.vbs") = "" Then
Open Application.CurrentProject.Path & "\riavvia.vbs" For Output As #1
Print #1, "Dim shell"
Print #1, "Set shell = wscript.CreateObject(""Wscript.Shell"")"
Print #1, "shell.run """"""" & Environ("programfiles") & "\Microsoft
Office\OFFICE11\msaccess.exe"""" """"" & Application.CurrentProject.Path &
"\raccomandate.mdb"""""""
Print #1, "set shell = nothing"
Close #1
End If
docmd.quit
End Sub
e nell'evento su chiusura della maschera:
Private Sub form_close()
Call Shell("WScript.exe """ & Application.CurrentProject.Path &
"\riavvia.vbs", vbHide)
End Sub
Facci sapere
Ciao Mimmo
Ciao,
non ho mai avuto questa esigenza quindi ho cercato su internet trovando la seguente istruzione
Application.CurrentDb.Properties.Refresh
che però non risolve alcune situazioni che necessitano proprio della chiusura e riapertura del DB.
Non ho comunque trovato altre soluzioni.
Per mia curiosità mi dici per quale motivo hai tale esigenza (della serie non si smette mai di imparare).
Ciao Mimmo