Newsgroup: it.comp.appl.access
Titolo: Generare avviso di sistema

E' possibile generare da access un messaggio che compaia sul sistema
operativo windows?
Una specie di msgbox che però deve comparire fuori access

 ha scritto nel messaggio 
news:28e3c30e-e1ed-4e7e...@f30g2000yqa.googlegroups.com...
E' possibile generare da access un messaggio che compaia sul sistema
operativo windows?
Una specie di msgbox che perň deve comparire fuori access
In teoria sě.
Esattamente cosa devi fare, cosa ti proponi di ottenere?
Ciao, Carlo 

 Ciao, Carlo
Grazie per l'interessamento.
Supponendo di avere access ridotto sulla barra delle applicazioni
oppure nascosto dall'utilizzo di un altro software, vorrei, ad una
determinata condizione scatenata dal timer, far comparire a video un
messaggio visibile all'utente.


I MessageBox sono Form Modali Popup che agiscono a livello di S.O....
hai provato se ti soddisfa...?
@Alex

"pesie"  ha scritto nel messaggio 
news:612a9cf4-f072-4a2f...@d28g2000yqc.googlegroups.com...


___Risposta:
Non è la soluzione migliore, Access ridotto ed inutilizzato soffre.
Usa i vbs e li metti nelle attività di windows
MA

Purtroppo sono abbastanza ignorante e non ho capito ne Alex ne MA

"pesie"  ha scritto nel messaggio 
news:d2da427a-fddf-45e7...@x18g2000yqe.googlegroups.com...
Purtroppo sono abbastanza ignorante e non ho capito ne Alex ne MA
____Rispsota:
i file vbs sono dei file che diciamo sfruttano il sistema operativo  per 
compiere delle attività.
Hanno bisogno però di qualcuno che li avvii.
Tu puoi creartene uno semplicemente rinominando pippo.txt in pippo.vbs e 
dire alle attività pianificate di windows di lanciarlo.
Poi se ci dici cosa deve fare vediamo di metter su il codice
MA

 "pesie"  ha scritto nel messaggionews:d2da427a-fddf-45e7...@x18g2000yqe.googlegroups.com...

Ok, grazie. Adesso è chiaro.
Come dicevo sopra vorrei che comparisse un messaggio di avviso su un
evento timer di una maschera di access. Nel dettaglio vorrei che su
modifiche alla tabella gestita dalla maschera, comparisse questo
messaggio indipendentemente dal fatto che l'mdb sia ridotto oppure no.

 Ciao, Carlo
Grazie per l'interessamento.
Supponendo di avere access ridotto sulla barra delle applicazioni
oppure nascosto dall'utilizzo di un altro software, vorrei, ad una
determinata condizione scatenata dal timer, far comparire a video un
messaggio visibile all'utente.
--------------
Oltre le cose che ti hanno detto MA e Alex potresti provare cosě (anche se 
non so quale versione usi di Access):
Nel modulo della maschera e impostando un intervallo timer di 10000 (dieci 
secondi) giusto per fare una prova scrivi:
Option Compare Database
Option Explicit
Private Declare Function IsIconic Lib "user32.dll" (ByVal hWnd As Long) As 
Long
Private Declare Function IsZoomed Lib "user32.dll" (ByVal hWnd As Long) As 
Long
Private Declare Function GetActiveWindow Lib "user32" () As Long
Private Declare Function GetParent Lib "user32.dll" (ByVal hWnd As Long) As 
Long
Private Sub Form_Timer()
If IsAccessMinimized = True Then
MsgBox "Finestra iconizzata"
End If
End Sub
Private Function IsAccessMaximized() As Boolean
         If IsZoomed(hWndAccessApp()) = 0 Then
            IsAccessMaximized = False
         Else
            IsAccessMaximized = True
         End If
      End Function
      Function IsAccessMinimized() As Boolean
         If IsIconic(hWndAccessApp()) = 0 Then
            IsAccessMinimized = False
         Else
            IsAccessMinimized = True
         End If
      End Function
A questo punto salva e apri la maschera iconizzando tutto l'applicativo.
Ciao, Carlo 

> Oltre le cose che ti hanno detto MA e Alex potresti provare così (anche se

Uso la versione 2003.
Grazie ancora per la soluzione.
Per quello che devo fare ha due problemi:
- con access iconizzato sento (da un beep) che l'avviso dopo 10
secondi si apre ma per vederla devo cliccare sull'mdb iconizzato sulla
barra delle applicazioni;
- se access non è stato iconizzato ma semplicemente "sovrapposto" da
un altro software l'avviso non si apre proprio

 ha scritto nel messaggio 
news:7bf60140-a8da-4514...@f2g2000yqf.googlegroups.com...


-------------
Probabilmente hai altre applicazioni aperte per cui la finestra messaggio si 
pone dietro.
- se access non è stato iconizzato ma semplicemente "sovrapposto" da
un altro software l'avviso non si apre proprio
------------------
Certo, è normale perchè non ho previsto questa eventualità ma nel codice c'è 
già la procedura.
Ciao, Carlo 

 ha scritto nel messaggio 
news:7bf60140-a8da-4514...@f2g2000yqf.googlegroups.com...
cut
Uso la versione 2003.
Grazie ancora per la soluzione.
Per quello che devo fare ha due problemi:
- con access iconizzato sento (da un beep) che l'avviso dopo 10
secondi si apre ma per vederla devo cliccare sull'mdb iconizzato sulla
barra delle applicazioni;
- se access non è stato iconizzato ma semplicemente "sovrapposto" da
un altro software l'avviso non si apre proprio
-------------------------
Ok facciamola completa aggiungendo anche tutti gli altri casi e anche i 
suggerimenti di MA e Alex.
Nella sezione dichiarazioni del modulo precedente aggiungi:
Private Declare Function ShellExecute _
    Lib "shell32.dll" _
    Alias "ShellExecuteA" ( _
    ByVal hwnd As Long, _
    ByVal lpOperation As String, _
    ByVal lpFile As String, _
    ByVal lpParameters As String, _
    ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) _
    As Long
Aggiungi anche questa sub:
Sub ShellExec(PathDelFile As String)
    Dim strFile As String
    Dim strAction As String
    Dim lngErr As Long
   strFile = PathDelFile  ' il file che vuoi aprire
    strAction = "OPEN"
    lngErr = ShellExecute(0, strAction, strFile, "", "", 0)
End Sub
La sub form timer diventa:
Private Sub Form_Timer()
If IsAccessMinimized = True Then
ShellExec ("c:\Iconizzato.vbs")
End If
If IsAccessMaximized = True Then
ShellExec ("C:\Ingrandito.vbs")
End If
If IsAccessRestored = True Then
ShellExec ("C:\Finestra.vbs")
End If
End Sub
Apri il notepad e scrivi questi tre file:
msgbox "Il programma è ingrandito."
Salva il file e mettilo in c:\ con il nome Ingrandito.vbs
(Nota per salvare i file in notepad con un formato diverso da txt, quando 
scegli dal menù file, salva con nome, da "Salva come" scegli "Tutti i file" 
altrimenti verrà letto come testo)
Poi scrivi in un altro file:
msgbox "Il programma è iconizzato."
e lo salvi sempre in c:\ come Iconizzato.vbs
Infine scrivi in un altro file:
msgbox "Il programma è in finestra."
e lo salvi in c:\ come Finestra.vbs
Ovviamente potrai scrivere quello che vuoi nei tre file così come cambiare 
il path dei file stessi.
Ora prova le tre possibilità di visualizzazione del programma: iconizzato, 
massimizzato, finestra.
Ciao, Carlo 


Grazie, funziona alla grande.
Mancherebbe solo da definire la variabile e la sub "IsAccessRestored".
Vedo se riesco ad arrangiarmi....

"Carlo Costarella"  ha scritto nel messaggio 
news:in2ipn$nqf$1...@tdi.cu.mi.it...





End Sub




Ciao, Carlo
____________Risposta:
Hola Doc,
posso farne un articolo su AccessGroup.it?
Un abbraccio
MA


Provo a fare un'ulteriore richiesta: esiste la possibilità di vedere
se il messaggio del vbs è aperto a video?
Vorrei fare in modo che se il messaggio è aperto access non me lo
segnali ulteriormente.

 ha scritto nel messaggio 
news:3f706b47-5cc0-4e57...@f30g2000yqa.googlegroups.com...
cut
Grazie, funziona alla grande.
Mancherebbe solo da definire la variabile e la sub "IsAccessRestored".
Vedo se riesco ad arrangiarmi....
Eccola:
Function IsAccessRestored()
         If IsAccessMaximized() = False And _
               IsAccessMinimized() = False Then
            IsAccessRestored = True
         Else
            IsAccessRestored = False
         End If
      End Function
Ciao, Carlo 

 MA
Non hai bisogno di chiedere.
A te tutto è concesso. Con vero piacere.
Aggiungi anche l'ultima routine di cui ho appena risposto a "pesie".
Un abbraccio, Carlo 

 Un abbraccio, Carlo
Pubblicato.. ho aggiunto un demo e qualche nota.
--
salvino
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 salvino
Ottimo, anche le note.
Sarà meglio evitare il "su Timer" o comunque prevedere una routine che 
imposta a zero l'intervallo o magari un tempo molto più lungo...Altrimenti 
sai che pizza.
Comunque rende bene l'idea e poi ognuno ci lavora.
Ciao, Carlo 

 Ciao, Carlo
Sì l'avevo notato, ma è chiaro che poi è compito di chi l'utilizza di
adattare il codice alle sue necessità.
--
sv 
