Newsgroup: it.comp.appl.access
Titolo: COME CREARE UN CONTROLLO SU UNA MASCHERA?

Ciao a tutti, ho due domande:
1) Sulla maschera ANAGRAFICA, in fase di caricamento di un nuovo record,
voglio che questo record venga aggiunto al data base solamente premendo un
pulsante di conferma tipo spunta a condizione che un campo in particolare
della maschera sia stato riempito.
2) Sempre sulla maschera ANAGRAFICA, come faccio a disabilitare lo scroll
del mouse che altrimenti mi scorre i records? A me non servono altre
funzioni se non quella del tasto TAB.
Grazie mille del vostro aiuto.
Buon lavoro a tutti, It


Basta che nella tabella origine della maschera imposti a Sì la proprietà
"Richiesto" del/i campo/i che deve/devono essere necessariamente
valorizzato/i. In caso contrario il record non sarà salvato.
Ciao
salvatore

 funzioni se non quella del tasto TAB.
Qui di seguito ti riporto una soluzione proposta da Carlo Costarella il
31/5/2003:
=======================
Considerando la continua richiesta (anche in privato) per disabilitare la
rotellina del mouse,
ho deciso di rendere disponibile la procedura.
Vorrei dire che tutto ciò si sarebbe potuto evitare se il SitoComune fosse
aggiornato.
Colgo l'occasione per offrire una collaborazione all'aggiornamento del sito.
Seguendo le istruzioni di mamma Microsoft, ho realizzato la seguente dll
liberamente scaricabile qui:
http://www.frantoiogestione.com/MouseWheel.dll
La dll va copiata in c:\windows\system o system32 a seconda del sistema
operativo.
Quindi va registrata da: Start, Esegui, RegSvr32
c:\windows\System32\MouseWheel.dll
oppure
RegSvr32 c:\windows\System\MouseWheel.dll
Aprire Access e il db da usare. Aprire in struttura la maschera in cui si
intende disabilitare
la rotellina del mouse e aprire il modulo associato.
Incollare le seguenti istruzioni:
Option Compare Database
Option Explicit
Private WithEvents clsMouseWheel As MouseWheel.CMouseWheel
Private Sub Form_Load()
    Set clsMouseWheel = New MouseWheel.CMouseWheel
    Set clsMouseWheel.Form = Me
    clsMouseWheel.SubClassHookForm
End Sub
Private Sub Form_Close()
   clsMouseWheel.SubClassUnHookForm
   Set clsMouseWheel.Form = Nothing
   Set clsMouseWheel = Nothing
End Sub
Private Sub clsMouseWheel_MouseWheel(Cancel As Integer)
    MsgBox "Non puoi usare la rotellina per cambiare record."
    Cancel = True
End Sub
Se già esistono degli eventi Form_Load() e Form_Close(), adattare
opportunamente il codice.
Salvare la maschera e chiuderla.
AVVERTENZA: Se dopo aver riaperto la maschera si intende passare alla
modalità struttura,
chiudere prima la maschera e poi aprirla in struttura.
Infatti la dll compie un subclassing di Windows che potrebbe mandare in
crash il sistema
se non lo si disabilita con l'istruzione contenuta in Form_Close().
Per questo motivo è bene fare una copia del db PRIMA di lavorarci.
Non mi assumo responsabilità per eventuali danni.
Il messaggio "Non puoi usare la rotellina per cambiare record." può essere
tolto
se non interessa.
Ciao, Carlo
========================
In alternativa leggi qui di seguito quanto suggerito da Giorgio prx il
2/12/2003:
========================
Per Acc2000 o 2002
How to Detect and Prevent the Mouse Wheel from Scrolling Through  Records in
a Form
http://support.microsoft.com/default.aspx?scid=kb;en-us;278379
Per Acc97 devi passare l ' "AddressOf"  con questa funzione
http://www.trigeminal.com/lang/1033/codes.asp?ItemID=19#19
Ciao Giorgio
=======================
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------
