Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de version ?

13 réponses
Avatar
Richard Martin
Le code en dessous me permet de désactiver la touche "SHIFT" pour
l'ouverture d'une bd.

Il fonctionne dans mes applications Access 97 que j'ai converti en version
2000. Mais :

Si je démarre une nouvelle application Access 2000 et que j'importe le
module qui contient ce code ainsi que la macro Autokeys qui exécute le code
pour la fonction PROTECT et DEPROTECT j'ai un message d'erreur au niveau de
la compilation.

J'ai vérifié mes références et coché toutes celles qui correspondent aux
fichiers qui fonctionnent et ça ne fonctionne pas plus.

Avez-vous des suggestions ?

Merci !

___________________________________________________________
Option Compare Database
Option Explicit
Dim pwd As String

Public Function InhiberBypass(bValeur As Boolean)
' Crée et/ou règle la propriété AllowBypassKey de l'application
'bValeur sera passé par la macro AutoKey d'appel (False ou True)
Dim prpAllow As Property
On Error GoTo InhiberByPassErreur

CurrentDb().Properties("AllowBypassKey") = bValeur

InhiberByPassExit:
Exit Function
InhiberByPassErreur:
' Contrôle si erreur "Propriété pas trouvée"
If Err.Number = 3270 Then
Set prpAllow = CurrentDb().CreateProperty("AllowBypassKey", dbBoolean,
bValeur)
CurrentDb().Properties.Append prpAllow
End If
Resume InhiberByPassExit
End Function

Public Function deprotect()
pwd = "1234"
Dim a As String
a = InputBox("Mot de passe : ")
If a = pwd Then
InhiberBypass (1)
MsgBox "Relancer l'application, la touche shift est maintenant active"
Else
MsgBox "Erreur mot de passe"
End If

End Function
Public Function protect()
InhiberBypass (0)
MsgBox "Relancer l'application, la touche shift est désactivée"
End Function

10 réponses

1 2
Avatar
Raymond [mvp]
bonjour.

c'est un simple problème de True/False:
Remplace
InhiberBypass (1)
par
InhiberBypass (-1) ou
InhiberBypass (True) 'qui est plus élégant.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Richard Martin" a écrit dans le message de
news:
Le code en dessous me permet de désactiver la touche "SHIFT" pour
l'ouverture d'une bd.

Il fonctionne dans mes applications Access 97 que j'ai converti en version
2000. Mais :

Si je démarre une nouvelle application Access 2000 et que j'importe le
module qui contient ce code ainsi que la macro Autokeys qui exécute le
code

pour la fonction PROTECT et DEPROTECT j'ai un message d'erreur au niveau
de

la compilation.

J'ai vérifié mes références et coché toutes celles qui correspondent aux
fichiers qui fonctionnent et ça ne fonctionne pas plus.

Avez-vous des suggestions ?

Merci !

___________________________________________________________
Option Compare Database
Option Explicit
Dim pwd As String

Public Function InhiberBypass(bValeur As Boolean)
' Crée et/ou règle la propriété AllowBypassKey de l'application
'bValeur sera passé par la macro AutoKey d'appel (False ou True)
Dim prpAllow As Property
On Error GoTo InhiberByPassErreur

CurrentDb().Properties("AllowBypassKey") = bValeur

InhiberByPassExit:
Exit Function
InhiberByPassErreur:
' Contrôle si erreur "Propriété pas trouvée"
If Err.Number = 3270 Then
Set prpAllow = CurrentDb().CreateProperty("AllowBypassKey",
dbBoolean,

bValeur)
CurrentDb().Properties.Append prpAllow
End If
Resume InhiberByPassExit
End Function

Public Function deprotect()
pwd = "1234"
Dim a As String
a = InputBox("Mot de passe : ")
If a = pwd Then
InhiberBypass (1)
MsgBox "Relancer l'application, la touche shift est maintenant active"
Else
MsgBox "Erreur mot de passe"
End If

End Function
Public Function protect()
InhiberBypass (0)
MsgBox "Relancer l'application, la touche shift est désactivée"
End Function




Avatar
3stone
Salut Richard et Raymond,

"Raymond [mvp]"

c'est un simple problème de True/False:
Remplace
InhiberBypass (1)



Tu es sûr Raymond ?
Car toute valeur différente de 0 (zéro) est considérée comme True...



Richard:
Tu doit avoir les deux références: DAO et ADO
Fait passer DAO devant (plus haut) que ADO



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
Raymond [mvp]
Bonjour Pierre.

je me méfie de tout, tu sais bien ?
ne serait-ce que mon api d'aujourd'hui qui ne fonctionnait pas et en la
recopiant, ça marche.
j'ai simplement pensé qu'après la conversion, il y aurait eu d'autres
problèmes avant celui-ci si ado était avant dao.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"3stone" a écrit dans le message de
news:
Salut Richard et Raymond,

"Raymond [mvp]"

c'est un simple problème de True/False:
Remplace
InhiberBypass (1)



Tu es sûr Raymond ?
Car toute valeur différente de 0 (zéro) est considérée comme True...



Richard:
Tu doit avoir les deux références: DAO et ADO
Fait passer DAO devant (plus haut) que ADO




Avatar
Richard Martin
J'ai changé le 0 et le 1 pour False et True dans le InhiberBypass (1) et ça
ne fonctionne pas non plus.

Erreur de compilation, Variable non définie.
Sur "dbboolean" dans le code.

Set prpAllow = CurrentDb().CreateProperty("AllowBypassKey", dbBoolean

____________________________________________________________
"Raymond [mvp]" a écrit dans le message de
news:
bonjour.

c'est un simple problème de True/False:
Remplace
InhiberBypass (1)
par
InhiberBypass (-1) ou
InhiberBypass (True) 'qui est plus élégant.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Richard Martin" a écrit dans le message de
news:
Le code en dessous me permet de désactiver la touche "SHIFT" pour
l'ouverture d'une bd.

Il fonctionne dans mes applications Access 97 que j'ai converti en
version


2000. Mais :

Si je démarre une nouvelle application Access 2000 et que j'importe le
module qui contient ce code ainsi que la macro Autokeys qui exécute le
code

pour la fonction PROTECT et DEPROTECT j'ai un message d'erreur au niveau
de

la compilation.

J'ai vérifié mes références et coché toutes celles qui correspondent aux
fichiers qui fonctionnent et ça ne fonctionne pas plus.

Avez-vous des suggestions ?

Merci !

___________________________________________________________
Option Compare Database
Option Explicit
Dim pwd As String

Public Function InhiberBypass(bValeur As Boolean)
' Crée et/ou règle la propriété AllowBypassKey de l'application
'bValeur sera passé par la macro AutoKey d'appel (False ou True)
Dim prpAllow As Property
On Error GoTo InhiberByPassErreur

CurrentDb().Properties("AllowBypassKey") = bValeur

InhiberByPassExit:
Exit Function
InhiberByPassErreur:
' Contrôle si erreur "Propriété pas trouvée"
If Err.Number = 3270 Then
Set prpAllow = CurrentDb().CreateProperty("AllowBypassKey",
dbBoolean,

bValeur)
CurrentDb().Properties.Append prpAllow
End If
Resume InhiberByPassExit
End Function

Public Function deprotect()
pwd = "1234"
Dim a As String
a = InputBox("Mot de passe : ")
If a = pwd Then
InhiberBypass (1)
MsgBox "Relancer l'application, la touche shift est maintenant
active"


Else
MsgBox "Erreur mot de passe"
End If

End Function
Public Function protect()
InhiberBypass (0)
MsgBox "Relancer l'application, la touche shift est désactivée"
End Function








Avatar
Raymond [mvp]
Je commence à me perdre dans tes erreurs.

je te donne ci-dessous une fonction complète qui doit fonctionner:

Private Sub Commande0_Click()
ModifiePropr "AllowBypassKey", dbBoolean, True
End Sub

Function ModifiePropr(chNomPropriété As String, _
varTypeProp As Variant, _
varValeurProp As Variant) As Integer
Dim bds As Database, prp As Property
Const conErreurPropNonTrouvée = 3270
Set bds = CurrentDb
On Error GoTo Change_Err
bds.Properties(chNomPropriété) = varValeurProp
ModifiePropr = True
Change_Sortie:
Exit Function
Change_Err:
If Err = conErreurPropNonTrouvée Then ' Propriété non trouvée.
Set prp = bds.CreateProperty(chNomPropriété, varTypeProp,
varValeurProp)
bds.Properties.Append prp
Resume Next
Else
' Erreur inconnue.
ModifiePropr = False
Resume Change_Sortie
End If
End Function


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Richard Martin" a écrit dans le message de
news:
J'ai changé le 0 et le 1 pour False et True dans le InhiberBypass (1) et
ça

ne fonctionne pas non plus.

Erreur de compilation, Variable non définie.
Sur "dbboolean" dans le code.

Set prpAllow = CurrentDb().CreateProperty("AllowBypassKey", dbBoolean


Avatar
Richard Martin
Ta procédure fonctionnerait, mais ça me donne toujours, même dans la tienne
une erreur de compilation sur DBBOOLEAN.

Pourtant mes applications de v97 converti en v2000 fonctionne. Mais si
j'importe le module du fichier converti qui fonctionne dans une autre
application v2000 toujours, j'ai le fameux Erreur de compilation sur
DBBOOLEAN.

C'est bizarre !

"Raymond [mvp]" a écrit dans le message de
news:
Je commence à me perdre dans tes erreurs.

je te donne ci-dessous une fonction complète qui doit fonctionner:

Private Sub Commande0_Click()
ModifiePropr "AllowBypassKey", dbBoolean, True
End Sub

Function ModifiePropr(chNomPropriété As String, _
varTypeProp As Variant, _
varValeurProp As Variant) As Integer
Dim bds As Database, prp As Property
Const conErreurPropNonTrouvée = 3270
Set bds = CurrentDb
On Error GoTo Change_Err
bds.Properties(chNomPropriété) = varValeurProp
ModifiePropr = True
Change_Sortie:
Exit Function
Change_Err:
If Err = conErreurPropNonTrouvée Then ' Propriété non trouvée.
Set prp = bds.CreateProperty(chNomPropriété, varTypeProp,
varValeurProp)
bds.Properties.Append prp
Resume Next
Else
' Erreur inconnue.
ModifiePropr = False
Resume Change_Sortie
End If
End Function


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Richard Martin" a écrit dans le message de
news:
J'ai changé le 0 et le 1 pour False et True dans le InhiberBypass (1) et
ça

ne fonctionne pas non plus.

Erreur de compilation, Variable non définie.
Sur "dbboolean" dans le code.

Set prpAllow = CurrentDb().CreateProperty("AllowBypassKey", dbBoolean






Avatar
Richard Martin
Même problème avec ton code !!!

Le DBBOOLEAN ne veut pas se compiler.

Pourtant mes applications 97 converti en 2000 fonctionnent. Un copier
coller du code ou une importation dans la nouvelle application ne fonctionne
pas.


"Raymond [mvp]" a écrit dans le message de
news:
Je commence à me perdre dans tes erreurs.

je te donne ci-dessous une fonction complète qui doit fonctionner:

Private Sub Commande0_Click()
ModifiePropr "AllowBypassKey", dbBoolean, True
End Sub

Function ModifiePropr(chNomPropriété As String, _
varTypeProp As Variant, _
varValeurProp As Variant) As Integer
Dim bds As Database, prp As Property
Const conErreurPropNonTrouvée = 3270
Set bds = CurrentDb
On Error GoTo Change_Err
bds.Properties(chNomPropriété) = varValeurProp
ModifiePropr = True
Change_Sortie:
Exit Function
Change_Err:
If Err = conErreurPropNonTrouvée Then ' Propriété non trouvée.
Set prp = bds.CreateProperty(chNomPropriété, varTypeProp,
varValeurProp)
bds.Properties.Append prp
Resume Next
Else
' Erreur inconnue.
ModifiePropr = False
Resume Change_Sortie
End If
End Function


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Richard Martin" a écrit dans le message de
news:
J'ai changé le 0 et le 1 pour False et True dans le InhiberBypass (1) et
ça

ne fonctionne pas non plus.

Erreur de compilation, Variable non définie.
Sur "dbboolean" dans le code.

Set prpAllow = CurrentDb().CreateProperty("AllowBypassKey", dbBoolean






Avatar
Raymond [mvp]
Bonjour.

DbBoolean est une constante DAO, ce qui veut dire que tu n'as pas coché la
référence dao3.6, ou que tu as une référence marquée manquante, avec un
penchant pour la 1ere idée.
si tu as ADO également, place DAO avant ADO.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Richard Martin" a écrit dans le message de
news:u1%
Même problème avec ton code !!!

Le DBBOOLEAN ne veut pas se compiler.

Pourtant mes applications 97 converti en 2000 fonctionnent. Un copier
coller du code ou une importation dans la nouvelle application ne
fonctionne

pas.


Avatar
Richard Martin
J'ai coché le DAO3,6 et la version ADO Ext.2.5 for DDL security et ça ne
fonctionne pas. Ce n'est pas écrit manquant.

Dans les références que doit-on cocher pour que tout fonctionne en général ?


"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

DbBoolean est une constante DAO, ce qui veut dire que tu n'as pas coché la
référence dao3.6, ou que tu as une référence marquée manquante, avec un
penchant pour la 1ere idée.
si tu as ADO également, place DAO avant ADO.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Richard Martin" a écrit dans le message de
news:u1%
Même problème avec ton code !!!

Le DBBOOLEAN ne veut pas se compiler.

Pourtant mes applications 97 converti en 2000 fonctionnent. Un copier
coller du code ou une importation dans la nouvelle application ne
fonctionne

pas.






Avatar
Raymond [mvp]
Si tu n'utilises pas ADO, décoche toutes les lignes faisant référence à ADO.
recompile.
toujours erreur ?
envoie-moi ta base que je jette un oeil demain matin. envoie en zip ou rar
et enlève XYZ. dans mon adresse.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Richard Martin" a écrit dans le message de
news:e7$
J'ai coché le DAO3,6 et la version ADO Ext.2.5 for DDL security et ça ne
fonctionne pas. Ce n'est pas écrit manquant.

Dans les références que doit-on cocher pour que tout fonctionne en général
?


1 2