Newsgroup: it.comp.appl.access
Titolo: Utenti collegati con Compattare tutti i BackEnd dal FrontEnd

Salve,
Utilizzando lo script già pubblicato sul sito comune " Compattare tutti i BE
dal FE 2", mi trovo con seguente quesito:
Ho necessità di stampare report utilizzando il metodo OpenReport
("DoCmd.OpenReport stRiepilogo, acViewNormal, , stLinkCriteria"),
ma ogni qualvolta che lo utilizzo, il programma risulta instabile,
lo verifico dalla visualizzazione anomala di un oggetto timer attivo su un
form del programma,
ed in fase di chiusura, utilizzando lo script di compattazione,
mi segnala che ci sono utenti collegati, e non mi permette (giustamente) di
effettuare backup.
Ringrazio anticipatamente chiunque anche solo con il pensiero, cerchi di
aiutarmi.

 wrote in message
news:eQILc.29350$
OR2.1...@news3.tin.it

Per prima cosa i problemi che esponi sono 2 e completamente differenti.
Per buona regola del NG conviene fare 2 POST.
Il primo relativo al Report non è chiaro, l'oggetto TIMER non esiste
se non l'OCX, casomai è l'EVENTO Timer, ma li apri una voragine
relativa al tuo specifico UTILIZZO dell'Evento.
Per il 2° è normale che prima di Compattare un BE MultiUtenza
devi effettuare il LOGOUT di tutti i Client.
Solo allora potrai lanciare il COMPACT.
Ciao.
@Alex.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:d9e983296e9099b288...@mygate.mailgate.org...

Mi scuso, ma mi giustifico con la mia inesperienza ed il basso livello
di competenza, ma penso che il problema sia uno e sicuramente mi sono
espresso male:
La segnalazione degli utenti collegati (che non ci sono) e la
visualizzazione anomala di lblTime
(Label associata all'evento Timer della maschera principale,
che visualizza l'ora corrente con aggiornamento ogni 1000 millisec.),
avviene SOLO dopo aver avviato il comando OpenReport,
prima funziona benissimo, non da assolutamente problemi.
Se lancio la compattazione senza aver in precedenza avviato la stampa,
tutto funziona correttamente.
Basta avviare almeno una volta una stampa e alla successiva richiesta di
compattazione,
che normalmente faccio alla chiusura dell'applicazione, mi vengono segnalati
gli utenti collegati.
Di seguito la semplice routine della maschera principale che
utilizzo per aggiornare la Label
Private Sub Form_Timer()
On Error GoTo Err_Form_Timer
    With Me
        With .lblData
            .Visible = True
            .ForeColor = 8388608 'Blue
            .Caption = Now() 'Visualizza data correnti.
        End With
        With .lblTime
            .Visible = True
            .ForeColor = 16777215 'Bianco
            .Caption = Time 'Visualizza ora correnti.
        End With
    End With
Exit_Form_Timer:
    Exit Sub
Err_Form_Timer:
    MsgBox err.Description
    Resume Exit_Form_Timer
End Sub
Di seguito la semplice routine della maschera che
utilizzo per avviare la stampa:
Private Function RoutineStampa() 'Routine di stampa del report corrente:
On Error GoTo Err_RoutineStampa
    DoCmd.Echo False, "" ' Arresta l'aggiornamento a schermo mentre la macro
è in esecuzione (l'eco è disattivata).
    DoCmd.Hourglass True ' Attiva la clessidra nel puntatore del mouse.
    stLinkCriteria = "[IDAssistenza]=" & [IDAssistenza]
    stRiepilogo = "rptRiepilogo"
    stAllegato = "rptAllegato"
    stDeposito = "rptDeposito"
    With Me
            TypeStatoRoutine = [StatoScheda]
            Select Case TypeStatoRoutine
            Case "APERTA", "DA TRASFERIRE", "TRASFERITA" 'Stampa il record
corrente:
                Select Case .cmbIDCondizione.Column(0)
                Case Is = 3, 4 'GUASTO ALLA PROVA, GUASTO AL PRIMO UTILIZZO
                    DoCmd.OpenReport stRiepilogo, acViewNormal, ,
stLinkCriteria
                    DoCmd.OpenReport stAllegato, acViewNormal, ,
stLinkCriteria
                Case Else
                    DoCmd.OpenReport stRiepilogo, acViewNormal, ,
stLinkCriteria
                    DoCmd.OpenReport stDeposito, acViewNormal, ,
stLinkCriteria
                    DoCmd.OpenReport stAllegato, acViewNormal, ,
stLinkCriteria
                End Select
            Case "IN LAVORAZIONE" 'Stampa il record corrente:
                DoCmd.OpenReport stRiepilogo, acViewNormal, , stLinkCriteria
                DoCmd.OpenReport stDeposito, acViewNormal, , stLinkCriteria
            End Select
    End With
    DoCmd.Hourglass False ' Disattiva la clessidra nel puntatore del mouse.
    DoCmd.Echo True, "" ' Riattiva l'eco.
Exit_RoutineStampa:
    DoCmd.Hourglass False
    DoCmd.Echo True, ""
    Exit Function
Err_RoutineStampa:
    MsgBox err.Description
    Resume Exit_RoutineStampa
End Function

 Grazie!