Intendevo mettere un controllo sull' evento BeforeUpdate del tipo
if not ConsentiModifiche then CancelEvent
Ovviamente ConsentiModifiche e` un flag che sarebbe impostato
a si` esclusivamente da un pulsante <Salva>, appena prima
di effettuare effettivamente il salvataggio.
Ovviamente sull' evento "Corrente" il flag andrebbe reimpostato a
no.
E` sicuramente + elegante e + sicuro del semplice controllo
dei tasti di navigazione (dovresti controllare anche i tasti cursore).
Bye, Ste.
Motivo: impedire che quando l'utente preme il tasto 3/PAG UP una
maschera si posiziona sul record successivo (mentre sta' alimentando
l'attuale record).
Grazie per l'aiuto.
Antonio Passaro
Antonio Passaro
E-mail:
apas...@mail.clio.it
antonio...@hotmail.com
pas...@olivettiricerca.it
Remove NSP to reply.
--
Posted from mailbari.olivettiricerca.it [193.76.87.205]
via Mailgate.ORG Server - http://www.mailgate.org
A quel modo dovresti controllare *tutti* i tasti di spostamento,
non e` che sia molto elegante.
In casi del genere e` meglio condizionare l' aggiornamento/salvataggio
al click su di un pulsante apposito (collegandolo ad un flag).
Bye, Ste.
>E' possibile in Access 97 abilitare automaticamente il tasto BLOC NUM ?
>
>Motivo: impedire che quando l'utente preme il tasto 3/PAG UP una
>maschera si posiziona sul record successivo (mentre sta' alimentando
Hai provato con
SendKeys "{Numlock}", True
Paolo
Ho messo la:
SendKeys "{Numlock}", True
nella "procedura evento" Su clic di un pulsante.
Cmq,grazie per l'aiuto.
Antonio Passaro
--
Il mio problema e' che la scheda viene aperta in modalita' "Consenti
modifiche"
e quindi la pressione di PAG UP provoca lo scorrimento sul record
successivo.
Cmq,grazie per l'aiuto.
Crea un modulo di classe dal nome Keyboard e butta dentro il seguente
codice:
Option Compare Database
Option Explicit
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As
Long) As Integer
Private Declare Function GetKeyboardState Lib "user32" (pbKeyState As
Byte) As Long
Private Declare Function SetKeyboardState Lib "user32" (lppbKeyState
As Byte) As Long
Property Get Capslock() As Boolean
Capslock = CBool(GetKeyState(vbKeyCapital) And 1)
End Property
Property Get Numlock() As Boolean
Numlock = CBool(GetKeyState(vbKeyNumlock) And 1)
End Property
Property Let Capslock(Value As Boolean)
Call SetKeyState(vbKeyCapital, Value)
End Property
Property Let Numlock(Value As Boolean)
Call SetKeyState(vbKeyNumlock, Value)
End Property
Private Sub SetKeyState(intKey As Integer, fTurnOn As Boolean)
Dim abytBuffer(0 To 255) As Byte
GetKeyboardState abytBuffer(0)
abytBuffer(intKey) = CByte(Abs(fTurnOn))
SetKeyboardState abytBuffer(0)
End Sub
Co 'st'altro codice setti i tasti:
Private Sub Form_Load()
Dim okb As New Keyboard
okb.Numlock = False ' oppure True per attivarlo
End Sub
Paolo
Scusa Paolo,
ma il modulo di classe devo crearlo con VB5 ?
Non mi risulta che si possa fare con Access 97.
Nel frattempo ho scoperto un ActiveX control (Keysta32.ocx) che e'
utilizzabile da Access 97.
Con esso riesco ad accendere automaticamente NUM LOCK all'apertura della
maschera con la:
Me![CtlActiveX11].Value = True
Il problema e' che sulla mia macchina il controllo c'e', mentre su altri
computer non lo trovo.
Chi ca22o l'ha messo sulla mia macchina non lo so'.
Forse VB5.
Ma ora che faccio per portarlo su altri computer ?
Devi installare VB5 ?
Che palle questa Microsoft.
Ciao e grazie per l'aiuto
Antonio Passaro
E-mail:
apas...@mail.clio.it
antonio...@hotmail.com
pas...@olivettiricerca.it
Remove NSP to reply.
--
>ma il modulo di classe devo crearlo con VB5 ?
>
>Non mi risulta che si possa fare con Access 97.
Non si poteva fare con Access95 ma co 97 si!
>.....
>Devi installare VB5 ?
No! Non serve.
Quando sei nella cartella Moduli menu' Inserisci-> Modulo di classe.
Ciao
Paolo
------------------------------------------------------------
If everybody else's doing it, why couldn't I.
------------------------------------------------------------