Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Funzione per Nascondere o Mostrare la Finestra di MSAccess

289 views
Skip to first unread message

Oscar

unread,
May 3, 2009, 11:38:01 AM5/3/09
to
Un saluto a tutti.
vorrei che in esecuzione un programma molto semplice con una maschera
soltanto facesse vedere solo la maschera stessa.
nel sito ho trovato questa soluzione, ma non riesco a capire come
applicarla.

' nella parte di dicchiarazione del modulo della maschera di avvio
Const SW_HIDE = 0
' in A00 - non in A97 - � necessessario anche
' Const SW_NORMAL = 1

Private Declare Function ShowWindow Lib "user32" _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

' OnOpen della maschera di avvio
Dim hWindow As Long
Dim nResult As Long
Dim nCmdShow As Long
hWindow = Application.hWndAccessApp
nCmdShow = SW_HIDE
nResult = ShowWindow(ByVal hWindow, ByVal nCmdShow)
' in A00 - non in A97 - � necessessario anche
' Call ShowWindow(Me.hWnd, SW_NORMAL)

qualora funzionasse si puo' tornare indietro e riuscire a vedere di
nuovo Access?
qualcuno mi puo' aiutare?
grazie
Oscar

Karl Donaubauer

unread,
May 4, 2009, 7:56:16 AM5/4/09
to

Per vedere la finestra principale di nuovo puoi usare lo stesso
codice. Devi solo sostituire
nCmdShow = SW_HIDE
con
nCmdShow = SW_NORMAL

> qualcuno mi puo' aiutare?

Se "nel sito" (?) non si trova nessuna descrizione prova con
www.donkarl.com/it?FAQ1.11 e se hai problemi di applicarla,
con descrivere cosa fai, cosa succede o no.

--
HTH
Karl
*********
Access FAQ: www.donkarl.com/it


Oscar

unread,
May 5, 2009, 10:57:15 AM5/5/09
to

il link � quello che ho trovato tramite il sito comune( e non sul sito
comune come giustamente mi hai fatto notare) ma non so come applicare
la soluzione suggerita:
Che significa:

"Nella sezione dichiarazioni del modulo di classe della maschera
principale inserisci:"

cio� dove debbo inserire queste 2 righe di codice? dove trovo "sezione
dichiarazioni del modulo di classe della maschera"?

Const SW_HIDE = 0
'in A00 devi aggiungere:
'Const SW_NORMAL = 1


Private Declare Function ShowWindow Lib "user32" _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long


questo sembra essere pi� facile ecredo che le debba inserire su:
Evento- Su Apertura

"Nella routine SuApertura della maschera principale:"

Dim hWindow As Long
Dim nResult As Long
Dim nCmdShow As Long
hWindow = Application.hWndAccessApp
nCmdShow = SW_HIDE
nResult = ShowWindow(ByVal hWindow, ByVal nCmdShow)

'in A00 devi aggiungere:
'call ShowWindow(Me.hWnd, SW_NORMAL)

ti ringrazio per l'aiuto
Oscar

Karl Donaubauer

unread,
May 5, 2009, 1:18:45 PM5/5/09
to
Oscar wrote:
> Karl Donaubauer wrote:
> ...

> si puo' tornare indietro e riuscire a vedere di
>>> nuovo Access?
>>
>> Per vedere la finestra principale di nuovo puoi usare lo stesso
>> codice. Devi solo sostituire
>> nCmdShow = SW_HIDE
>> con
>> nCmdShow = SW_NORMAL
>>
>>> qualcuno mi puo' aiutare?
>>
>> Se "nel sito" (?) non si trova nessuna descrizione prova con
>> www.donkarl.com/it?FAQ1.11 e se hai problemi di applicarla,
>> con descrivere cosa fai, cosa succede o no.
> ...

> Che significa:
>
> "Nella sezione dichiarazioni del modulo di classe della maschera
> principale inserisci:"
>
> cio� dove debbo inserire queste 2 righe di codice? dove trovo "sezione
> dichiarazioni del modulo di classe della maschera"?
>
> Const SW_HIDE = 0
> 'in A00 devi aggiungere:
> 'Const SW_NORMAL = 1
> Private Declare Function ShowWindow Lib "user32" _
> (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Se apri il modulo di una maschera all inizio di tutto il codice ci sono
uno o due righe come queste:

Option Compare Database
Option Explicit

Puo darsi che la seconda riga non � presente.
Sarebbe meglio ma dipende se nel editore VBA hai attivato l'opzione
"Dichiarazione di variabili obbligatoria" nel men� strumenti/opzioni.

In ogni caso sotto queste righe vedi una linea orrizontale.
Tutto lo spazio soppra questa linea � la parte dichiarazione del modulo.
Puoi posizionare il cursore sotto queste righe e incollare il codice
dall'articolo.
Il risultato sar�:

Option Compare Database
Option Explicit

Const SW_HIDE = 0
Const SW_NORMAL = 1

Private Declare Function ShowWindow Lib "user32" _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

_______________

>
> questo sembra essere pi� facile ecredo che le debba inserire su:
> Evento- Su Apertura

Questo � l'evento descritto, ma devi creare una routine evento.
Se non sai come usare codice vedi la descrizione qui:
http://groups.google.com/group/it.comp.appl.access/msg/b8087a0bc01eab46

> "Nella routine SuApertura della maschera principale:"
>
> Dim hWindow As Long
> Dim nResult As Long
> Dim nCmdShow As Long
> hWindow = Application.hWndAccessApp
> nCmdShow = SW_HIDE
> nResult = ShowWindow(ByVal hWindow, ByVal nCmdShow)
> 'in A00 devi aggiungere:
> 'call ShowWindow(Me.hWnd, SW_NORMAL)

--

Oscar

unread,
May 5, 2009, 2:25:37 PM5/5/09
to

ho fatto tutto per bene tranne che nella dichiarazione del modulo non
compare la riga Option Explicit che non compare anche dopo che ho
attivato l'opzione "dichiarazione di variabili obbligatoria.
purtroppo non funziona: al lancio del programma non si vede nulla
anche se il programma � in esecuzione visto che non riesco ad
eleminarlo.
grazie di nuovo
Oscar

Karl Donaubauer

unread,
May 5, 2009, 2:46:32 PM5/5/09
to
>> ...

> ho fatto tutto per bene tranne che nella dichiarazione del modulo non
> compare la riga Option Explicit che non compare anche dopo che ho
> attivato l'opzione "dichiarazione di variabili obbligatoria.

� normale. L'opzione solo crea la riga solo per moduli creati
dopo l'attivazione.

> purtroppo non funziona: al lancio del programma non si vede nulla
> anche se il programma � in esecuzione visto che non riesco ad
> eleminarlo.

Se "non si vede nulla" vuol dire che non vedi ne Access ne la tua
maschera, non hai letto bene l'articolo segnalato, dov'� descritto
che si deve usare maschere popup e quale sono le altre limitazioni.

Oscar

unread,
May 8, 2009, 1:57:06 PM5/8/09
to

scusami se rispondo con ritardo. ho impostato la maschera su poup e
funziona tutto correttamente.
ti rimgrazio per il tuo aiuto e approfitto per chiederti ancora:
c'� differenza per l'impostazione popup tra le opzioni "a scelta
obbligatoria" SI o NO;
avendo ottenuto il risultato di vedere solo la maschera, se volessi
modificare qualcosa del programma posso farlo ed in che modo;
nel tentativo di entrare nel programma ho provato con il tasto destro
del mouse e cliccando su visualizzazione struttura � scomparso tutto:
posso inibire il tasto destro del mouse?
ciao e grazie di nuovo
Oscar

Karl Donaubauer

unread,
May 9, 2009, 1:14:31 PM5/9/09
to
Oscar wrote:
>> ...
>>> www.donkarl.com/it?FAQ1.11
>> ...

> ho impostato la maschera su poup e funziona tutto correttamente.
> ti rimgrazio per il tuo aiuto e approfitto per chiederti ancora:
> c'� differenza per l'impostazione popup tra le opzioni "a scelta
> obbligatoria" SI o NO;

Non capisco la domanda.
Se vuoi sapere cosa fanno le due propriet� puoi posizionare il cursore
nelle righe delle propriet� � premere <F1>.

> avendo ottenuto il risultato di vedere solo la maschera, se volessi
> modificare qualcosa del programma posso farlo ed in che modo;
> nel tentativo di entrare nel programma ho provato con il tasto destro
> del mouse e cliccando su visualizzazione struttura � scomparso tutto:
> posso inibire il tasto destro del mouse?

Se vuoi inibire il men� per una sola maschera puoi impostare
la propriet� "menu scelta rapida" della maschera a No.

Se vuoi inibire tutti menu di scelta rapida nel programma puoi disattivare
l'opzione nel men� Strumenti/Avvio/Menu di scelta rapida predefiniti.

Oscar

unread,
May 10, 2009, 6:33:51 AM5/10/09
to

grazie di tutto.
Oscar

0 new messages