Mot de passe

Le
J.L.
Bonjour,

Est-il possible de bloquer par mot de passe une base de données après
que la page de d'accueil soit ouverte. C'est-à-dire empêcher les gens
d'avoir accès aux tables, requêtes, formulaires, états, etc Il
faudrait qu'il n'utilise que le formulaire d'accueil.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
jero
Le #21563701
Salut,
Oui c'est possible (avec ou sans mot de passe) en modifiant certaines
options d'Access
En VBA, ça donne (exemple)
Public Db as DAO.Database

Public Const PROPRIETE_NON_TROUVEE = 3270

'.....

Public Sub InitialisePropriétés(VraiFaux As Boolean)

Set Db=CurrentDb

ModifiePropriété "StartupShowDBWindow", dbBoolean, VraiFaux

ModifiePropriété "StartupShowStatusBar", dbBoolean, VraiFaux

ModifiePropriété "AllowFullMenus", dbBoolean, VraiFaux

ModifiePropriété "AllowShortcutMenus", dbBoolean, VraiFaux

ModifiePropriété "AllowBuiltinToolbars", dbBoolean, VraiFaux

ModifiePropriété "AllowToolbarChanges", dbBoolean, VraiFaux

ModifiePropriété "AllowBreakIntoCode", dbBoolean, VraiFaux

ModifiePropriété "AllowBypassKey", dbBoolean, VraiFaux

ModifiePropriété "AllowSpecialKeys", dbBoolean, VraiFaux

If VraiFaux = True Then

ModifiePropriété "AppTitle", dbText

ModifiePropriété "AppIcon", dbText

ModifiePropriété "StartupForm", dbText

Else

ModifiePropriété "AppTitle", dbText, "xxxxxx"

ModifiePropriété "AppIcon", dbText, "C:MonLogo.ico"

ModifiePropriété "StartupForm", dbText, "frmAccueil"

End If

End Sub

'.....

Public Sub ModifiePropriété(NomPropriété As String, TypePropriété As
Variant, Optional ValeurPropriété As Variant = "") As Boolean

Dim Prp As DAO.Property

On Error GoTo Err_ModifiePropriété

If ValeurPropriété = "" Then

Db.Properties().Delete NomPropriété

Else

Db.Properties(NomPropriété) = ValeurPropriété

End If

ModifiePropriété = True



Exit_ModifiePropriété:

Exit Function



Err_ModifiePropriété:

If Err = PROPRIETE_NON_TROUVEE Then

On Error Resume Next

Set Prp = Db.CreateProperty(NomPropriété, TypePropriété,
ValeurPropriété)

Db.Properties.Append Prp

On Error GoTo 0

Resume Exit_ModifiePropriété

Else ' Autre erreur

ModifiePropriété = False

Resume Exit_ModifiePropriété

End If

End Sub

'.....

Pour "bloquer" : InitialisePropriétés False

Pour "débloquer" : InitialisePropriétés True

ATTENTION :

AllowBypassKey : DANGER ! (vas voir dans l'aide) et AVANT TOUT ESSAI :
SAUVEGARDE....

A+

"J.L." edGxn.141842$
Bonjour,

Est-il possible de bloquer par mot de passe une base de données après que
la page de d'accueil soit ouverte. C'est-à-dire empêcher les gens d'avoir
accès aux tables, requêtes, formulaires, états, etc... Il faudrait qu'il
n'utilise que le formulaire d'accueil.
J.L.
Le #21565521
Merci, pour le VBA!

Il y a un petit problème. Quand je compile il me donne une erreur de
compilation sur la ligne Public Db as DAO.Database.

J'ai oublié de préciser que j'utilise une version Access 2000.


Le 2010-04-15 12:17, jero a écrit :
Salut,
Oui c'est possible (avec ou sans mot de passe) en modifiant certaines
options d'Access
En VBA, ça donne (exemple)
Public Db as DAO.Database

Public Const PROPRIETE_NON_TROUVEE = 3270

'.....

Public Sub InitialisePropriétés(VraiFaux As Boolean)

Set Db=CurrentDb

ModifiePropriété "StartupShowDBWindow", dbBoolean, VraiFaux

ModifiePropriété "StartupShowStatusBar", dbBoolean, VraiFaux

ModifiePropriété "AllowFullMenus", dbBoolean, VraiFaux

ModifiePropriété "AllowShortcutMenus", dbBoolean, VraiFaux

ModifiePropriété "AllowBuiltinToolbars", dbBoolean, VraiFaux

ModifiePropriété "AllowToolbarChanges", dbBoolean, VraiFaux

ModifiePropriété "AllowBreakIntoCode", dbBoolean, VraiFaux

ModifiePropriété "AllowBypassKey", dbBoolean, VraiFaux

ModifiePropriété "AllowSpecialKeys", dbBoolean, VraiFaux

If VraiFaux = True Then

ModifiePropriété "AppTitle", dbText

ModifiePropriété "AppIcon", dbText

ModifiePropriété "StartupForm", dbText

Else

ModifiePropriété "AppTitle", dbText, "xxxxxx"

ModifiePropriété "AppIcon", dbText, "C:MonLogo.ico"

ModifiePropriété "StartupForm", dbText, "frmAccueil"

End If

End Sub

'.....

Public Sub ModifiePropriété(NomPropriété As String, TypePropriété As
Variant, Optional ValeurPropriété As Variant = "") As Boolean

Dim Prp As DAO.Property

On Error GoTo Err_ModifiePropriété

If ValeurPropriété = "" Then

Db.Properties().Delete NomPropriété

Else

Db.Properties(NomPropriété) = ValeurPropriété

End If

ModifiePropriété = True



Exit_ModifiePropriété:

Exit Function



Err_ModifiePropriété:

If Err = PROPRIETE_NON_TROUVEE Then

On Error Resume Next

Set Prp = Db.CreateProperty(NomPropriété, TypePropriété,
ValeurPropriété)

Db.Properties.Append Prp

On Error GoTo 0

Resume Exit_ModifiePropriété

Else ' Autre erreur

ModifiePropriété = False

Resume Exit_ModifiePropriété

End If

End Sub

'.....

Pour "bloquer" : InitialisePropriétés False

Pour "débloquer" : InitialisePropriétés True

ATTENTION :

AllowBypassKey : DANGER ! (vas voir dans l'aide) et AVANT TOUT ESSAI :
SAUVEGARDE....

A+

"J.L." edGxn.141842$
Bonjour,

Est-il possible de bloquer par mot de passe une base de données après que
la page de d'accueil soit ouverte. C'est-à-dire empêcher les gens d'avoir
accès aux tables, requêtes, formulaires, états, etc... Il faudrait qu'il
n'utilise que le formulaire d'accueil.




jero
Le #21568291
Salut,
Il te manque la référence "Microsoft Office xx.x Access database engine
object library" où xx.x est la version d'Office (12.0 pour 2007 par ex.)
Je n'ai pas access 2000, je ne sais pas quel est le nom exacte de la
référence sous cette version... (peut-être Microsoft ...DAO...)
Sous VBE, vas dans "Outils, Références" et coche ce qu'il te manque...
Autre : à propos de ta demande ; tu peux aussi faire en sorte que tous les
formulaires, états que tu ouvres soient en fenêtre modale (ça interdit à
l'utilisateur de cliquer "ailleurs") propriété Fen modale : Oui ou par vba :
DoCmd.OpenForm "NomForm", , , , , acDialog
A+
"J.L."
Merci, pour le VBA!

Il y a un petit problème. Quand je compile il me donne une erreur de
compilation sur la ligne Public Db as DAO.Database.

J'ai oublié de préciser que j'utilise une version Access 2000.


Le 2010-04-15 12:17, jero a écrit :
Salut,
Oui c'est possible (avec ou sans mot de passe) en modifiant certaines
options d'Access
En VBA, ça donne (exemple)
Public Db as DAO.Database

Public Const PROPRIETE_NON_TROUVEE = 3270

'.....

Public Sub InitialisePropriétés(VraiFaux As Boolean)

Set Db=CurrentDb

ModifiePropriété "StartupShowDBWindow", dbBoolean, VraiFaux

ModifiePropriété "StartupShowStatusBar", dbBoolean, VraiFaux

ModifiePropriété "AllowFullMenus", dbBoolean, VraiFaux

ModifiePropriété "AllowShortcutMenus", dbBoolean, VraiFaux

ModifiePropriété "AllowBuiltinToolbars", dbBoolean, VraiFaux

ModifiePropriété "AllowToolbarChanges", dbBoolean, VraiFaux

ModifiePropriété "AllowBreakIntoCode", dbBoolean, VraiFaux

ModifiePropriété "AllowBypassKey", dbBoolean, VraiFaux

ModifiePropriété "AllowSpecialKeys", dbBoolean, VraiFaux

If VraiFaux = True Then

ModifiePropriété "AppTitle", dbText

ModifiePropriété "AppIcon", dbText

ModifiePropriété "StartupForm", dbText

Else

ModifiePropriété "AppTitle", dbText, "xxxxxx"

ModifiePropriété "AppIcon", dbText, "C:MonLogo.ico"

ModifiePropriété "StartupForm", dbText, "frmAccueil"

End If

End Sub

'.....

Public Sub ModifiePropriété(NomPropriété As String, TypePropriété As
Variant, Optional ValeurPropriété As Variant = "") As Boolean

Dim Prp As DAO.Property

On Error GoTo Err_ModifiePropriété

If ValeurPropriété = "" Then

Db.Properties().Delete NomPropriété

Else

Db.Properties(NomPropriété) = ValeurPropriété

End If

ModifiePropriété = True



Exit_ModifiePropriété:

Exit Function



Err_ModifiePropriété:

If Err = PROPRIETE_NON_TROUVEE Then

On Error Resume Next

Set Prp = Db.CreateProperty(NomPropriété, TypePropriété,
ValeurPropriété)

Db.Properties.Append Prp

On Error GoTo 0

Resume Exit_ModifiePropriété

Else ' Autre erreur

ModifiePropriété = False

Resume Exit_ModifiePropriété

End If

End Sub

'.....

Pour "bloquer" : InitialisePropriétés False

Pour "débloquer" : InitialisePropriétés True

ATTENTION :

AllowBypassKey : DANGER ! (vas voir dans l'aide) et AVANT TOUT ESSAI :
SAUVEGARDE....

A+

"J.L." edGxn.141842$
Bonjour,

Est-il possible de bloquer par mot de passe une base de données après
que
la page de d'accueil soit ouverte. C'est-à-dire empêcher les gens
d'avoir
accès aux tables, requêtes, formulaires, états, etc... Il faudrait qu'il
n'utilise que le formulaire d'accueil.







J.L.
Le #21572351
Le 2010-04-16 00:02, jero a écrit :
Salut,
Il te manque la référence "Microsoft Office xx.x Access database engine
object library" où xx.x est la version d'Office (12.0 pour 2007 par ex.)
Je n'ai pas access 2000, je ne sais pas quel est le nom exacte de la
référence sous cette version... (peut-être Microsoft ...DAO...)
Sous VBE, vas dans "Outils, Références" et coche ce qu'il te manque...
Autre : à propos de ta demande ; tu peux aussi faire en sorte que tous les
formulaires, états que tu ouvres soient en fenêtre modale (ça interdit à
l'utilisateur de cliquer "ailleurs") propriété Fen modale : Oui ou par vba :
DoCmd.OpenForm "NomForm", , , , , acDialog
A+
"J.L."
Merci, pour le VBA!

Il y a un petit problème. Quand je compile il me donne une erreur de
compilation sur la ligne Public Db as DAO.Database.

J'ai oublié de préciser que j'utilise une version Access 2000.


Le 2010-04-15 12:17, jero a écrit :
Salut,
Oui c'est possible (avec ou sans mot de passe) en modifiant certaines
options d'Access
En VBA, ça donne (exemple)
Public Db as DAO.Database

Public Const PROPRIETE_NON_TROUVEE = 3270

'.....

Public Sub InitialisePropriétés(VraiFaux As Boolean)

Set Db=CurrentDb

ModifiePropriété "StartupShowDBWindow", dbBoolean, VraiFaux

ModifiePropriété "StartupShowStatusBar", dbBoolean, VraiFaux

ModifiePropriété "AllowFullMenus", dbBoolean, VraiFaux

ModifiePropriété "AllowShortcutMenus", dbBoolean, VraiFaux

ModifiePropriété "AllowBuiltinToolbars", dbBoolean, VraiFaux

ModifiePropriété "AllowToolbarChanges", dbBoolean, VraiFaux

ModifiePropriété "AllowBreakIntoCode", dbBoolean, VraiFaux

ModifiePropriété "AllowBypassKey", dbBoolean, VraiFaux

ModifiePropriété "AllowSpecialKeys", dbBoolean, VraiFaux

If VraiFaux = True Then

ModifiePropriété "AppTitle", dbText

ModifiePropriété "AppIcon", dbText

ModifiePropriété "StartupForm", dbText

Else

ModifiePropriété "AppTitle", dbText, "xxxxxx"

ModifiePropriété "AppIcon", dbText, "C:MonLogo.ico"

ModifiePropriété "StartupForm", dbText, "frmAccueil"

End If

End Sub

'.....

Public Sub ModifiePropriété(NomPropriété As String, TypePropriété As
Variant, Optional ValeurPropriété As Variant = "") As Boolean

Dim Prp As DAO.Property

On Error GoTo Err_ModifiePropriété

If ValeurPropriété = "" Then

Db.Properties().Delete NomPropriété

Else

Db.Properties(NomPropriété) = ValeurPropriété

End If

ModifiePropriété = True



Exit_ModifiePropriété:

Exit Function



Err_ModifiePropriété:

If Err = PROPRIETE_NON_TROUVEE Then






Merci beaucoup de ta patience et de ton aide Jero.

Cette fois il bloque sur ModifieProrpiété quand je compile.

Il donne comme message :
Erreur de compilation
Sub ou Fonction non définie

J.L. Access 2000


On Error Resume Next

Set Prp = Db.CreateProperty(NomPropriété, TypePropriété,
ValeurPropriété)

Db.Properties.Append Prp

On Error GoTo 0

Resume Exit_ModifiePropriété

Else ' Autre erreur

ModifiePropriété = False

Resume Exit_ModifiePropriété

End If

End Sub

'.....

Pour "bloquer" : InitialisePropriétés False

Pour "débloquer" : InitialisePropriétés True

ATTENTION :

AllowBypassKey : DANGER ! (vas voir dans l'aide) et AVANT TOUT ESSAI :
SAUVEGARDE....

A+

"J.L." edGxn.141842$
Bonjour,

Est-il possible de bloquer par mot de passe une base de données après
que
la page de d'accueil soit ouverte. C'est-à-dire empêcher les gens
d'avoir
accès aux tables, requêtes, formulaires, états, etc... Il faudrait qu'il
n'utilise que le formulaire d'accueil.











jero
Le #21573351
Salut,
Modifie Public Sub ModifiePropriété... par Public Function
ModifiePropriété....
Excuse-moi....
A+
"J.L."
Le 2010-04-16 00:02, jero a écrit :
Salut,
Il te manque la référence "Microsoft Office xx.x Access database engine
object library" où xx.x est la version d'Office (12.0 pour 2007 par ex.)
Je n'ai pas access 2000, je ne sais pas quel est le nom exacte de la
référence sous cette version... (peut-être Microsoft ...DAO...)
Sous VBE, vas dans "Outils, Références" et coche ce qu'il te manque...
Autre : à propos de ta demande ; tu peux aussi faire en sorte que tous
les
formulaires, états que tu ouvres soient en fenêtre modale (ça interdit à
l'utilisateur de cliquer "ailleurs") propriété Fen modale : Oui ou par
vba :
DoCmd.OpenForm "NomForm", , , , , acDialog
A+
"J.L."
Merci, pour le VBA!

Il y a un petit problème. Quand je compile il me donne une erreur de
compilation sur la ligne Public Db as DAO.Database.

J'ai oublié de préciser que j'utilise une version Access 2000.


Le 2010-04-15 12:17, jero a écrit :
Salut,
Oui c'est possible (avec ou sans mot de passe) en modifiant certaines
options d'Access
En VBA, ça donne (exemple)
Public Db as DAO.Database

Public Const PROPRIETE_NON_TROUVEE = 3270

'.....

Public Sub InitialisePropriétés(VraiFaux As Boolean)

Set Db=CurrentDb

ModifiePropriété "StartupShowDBWindow", dbBoolean, VraiFaux

ModifiePropriété "StartupShowStatusBar", dbBoolean, VraiFaux

ModifiePropriété "AllowFullMenus", dbBoolean, VraiFaux

ModifiePropriété "AllowShortcutMenus", dbBoolean, VraiFaux

ModifiePropriété "AllowBuiltinToolbars", dbBoolean, VraiFaux

ModifiePropriété "AllowToolbarChanges", dbBoolean, VraiFaux

ModifiePropriété "AllowBreakIntoCode", dbBoolean, VraiFaux

ModifiePropriété "AllowBypassKey", dbBoolean, VraiFaux

ModifiePropriété "AllowSpecialKeys", dbBoolean, VraiFaux

If VraiFaux = True Then

ModifiePropriété "AppTitle", dbText

ModifiePropriété "AppIcon", dbText

ModifiePropriété "StartupForm", dbText

Else

ModifiePropriété "AppTitle", dbText, "xxxxxx"

ModifiePropriété "AppIcon", dbText, "C:MonLogo.ico"

ModifiePropriété "StartupForm", dbText, "frmAccueil"

End If

End Sub

'.....

Public Sub ModifiePropriété(NomPropriété As String, TypePropriété As
Variant, Optional ValeurPropriété As Variant = "") As Boolean

Dim Prp As DAO.Property

On Error GoTo Err_ModifiePropriété

If ValeurPropriété = "" Then

Db.Properties().Delete NomPropriété

Else

Db.Properties(NomPropriété) = ValeurPropriété

End If

ModifiePropriété = True



Exit_ModifiePropriété:

Exit Function



Err_ModifiePropriété:

If Err = PROPRIETE_NON_TROUVEE Then






Merci beaucoup de ta patience et de ton aide Jero.

Cette fois il bloque sur ModifieProrpiété quand je compile.

Il donne comme message :
Erreur de compilation
Sub ou Fonction non définie

J.L. Access 2000


On Error Resume Next

Set Prp = Db.CreateProperty(NomPropriété, TypePropriété,
ValeurPropriété)

Db.Properties.Append Prp

On Error GoTo 0

Resume Exit_ModifiePropriété

Else ' Autre erreur

ModifiePropriété = False

Resume Exit_ModifiePropriété

End If

End Sub

'.....

Pour "bloquer" : InitialisePropriétés False

Pour "débloquer" : InitialisePropriétés True

ATTENTION :

AllowBypassKey : DANGER ! (vas voir dans l'aide) et AVANT TOUT ESSAI :
SAUVEGARDE....

A+

"J.L." edGxn.141842$
Bonjour,

Est-il possible de bloquer par mot de passe une base de données après
que
la page de d'accueil soit ouverte. C'est-à-dire empêcher les gens
d'avoir
accès aux tables, requêtes, formulaires, états, etc... Il faudrait
qu'il
n'utilise que le formulaire d'accueil.














J.L.
Le #21574291
Merci de ta patience.

Maintenant, ça bloque à End Sub, juste avant la commande

Public Sub ModifiePropriété (NomPropriété As String, TypePropriété As
Variant, Optional ValeurPropriété As Variant = "") As Boolean


Le 2010-04-16 12:23, jero a écrit :
Salut,
Modifie Public Sub ModifiePropriété... par Public Function
ModifiePropriété....
Excuse-moi....
A+
"J.L."
Le 2010-04-16 00:02, jero a écrit :
Salut,
Il te manque la référence "Microsoft Office xx.x Access database engine
object library" où xx.x est la version d'Office (12.0 pour 2007 par ex.)
Je n'ai pas access 2000, je ne sais pas quel est le nom exacte de la
référence sous cette version... (peut-être Microsoft ...DAO...)
Sous VBE, vas dans "Outils, Références" et coche ce qu'il te manque...
Autre : à propos de ta demande ; tu peux aussi faire en sorte que tous
les
formulaires, états que tu ouvres soient en fenêtre modale (ça interdit à
l'utilisateur de cliquer "ailleurs") propriété Fen modale : Oui ou par
vba :
DoCmd.OpenForm "NomForm", , , , , acDialog
A+
"J.L."
Merci, pour le VBA!

Il y a un petit problème. Quand je compile il me donne une erreur de
compilation sur la ligne Public Db as DAO.Database.

J'ai oublié de préciser que j'utilise une version Access 2000.


Le 2010-04-15 12:17, jero a écrit :
Salut,
Oui c'est possible (avec ou sans mot de passe) en modifiant certaines
options d'Access
En VBA, ça donne (exemple)
Public Db as DAO.Database

Public Const PROPRIETE_NON_TROUVEE = 3270

'.....

Public Sub InitialisePropriétés(VraiFaux As Boolean)

Set Db=CurrentDb

ModifiePropriété "StartupShowDBWindow", dbBoolean, VraiFaux

ModifiePropriété "StartupShowStatusBar", dbBoolean, VraiFaux

ModifiePropriété "AllowFullMenus", dbBoolean, VraiFaux

ModifiePropriété "AllowShortcutMenus", dbBoolean, VraiFaux

ModifiePropriété "AllowBuiltinToolbars", dbBoolean, VraiFaux

ModifiePropriété "AllowToolbarChanges", dbBoolean, VraiFaux

ModifiePropriété "AllowBreakIntoCode", dbBoolean, VraiFaux

ModifiePropriété "AllowBypassKey", dbBoolean, VraiFaux

ModifiePropriété "AllowSpecialKeys", dbBoolean, VraiFaux

If VraiFaux = True Then

ModifiePropriété "AppTitle", dbText

ModifiePropriété "AppIcon", dbText

ModifiePropriété "StartupForm", dbText

Else

ModifiePropriété "AppTitle", dbText, "xxxxxx"

ModifiePropriété "AppIcon", dbText, "C:MonLogo.ico"

ModifiePropriété "StartupForm", dbText, "frmAccueil"

End If

End Sub

'.....

Public Sub ModifiePropriété(NomPropriété As String, TypePropriété As
Variant, Optional ValeurPropriété As Variant = "") As Boolean

Dim Prp As DAO.Property

On Error GoTo Err_ModifiePropriété

If ValeurPropriété = "" Then

Db.Properties().Delete NomPropriété

Else

Db.Properties(NomPropriété) = ValeurPropriété

End If

ModifiePropriété = True



Exit_ModifiePropriété:

Exit Function



Err_ModifiePropriété:

If Err = PROPRIETE_NON_TROUVEE Then






Merci beaucoup de ta patience et de ton aide Jero.

Cette fois il bloque sur ModifieProrpiété quand je compile.

Il donne comme message :
Erreur de compilation
Sub ou Fonction non définie

J.L. Access 2000


On Error Resume Next

Set Prp = Db.CreateProperty(NomPropriété, TypePropriété,
ValeurPropriété)

Db.Properties.Append Prp

On Error GoTo 0

Resume Exit_ModifiePropriété

Else ' Autre erreur

ModifiePropriété = False

Resume Exit_ModifiePropriété

End If

End Sub

'.....

Pour "bloquer" : InitialisePropriétés False

Pour "débloquer" : InitialisePropriétés True

ATTENTION :

AllowBypassKey : DANGER ! (vas voir dans l'aide) et AVANT TOUT ESSAI :
SAUVEGARDE....

A+

"J.L." edGxn.141842$
Bonjour,

Est-il possible de bloquer par mot de passe une base de données après
que
la page de d'accueil soit ouverte. C'est-à-dire empêcher les gens
d'avoir
accès aux tables, requêtes, formulaires, états, etc... Il faudrait
qu'il
n'utilise que le formulaire d'accueil.


















jero
Le #21577151
Salut,
Maintenant, ça bloque à End Sub, juste avant la commande : fais attention
aux retours à la ligne dans ton logiciel de messagerie


Option Compare Database
Option Explicit
Public Const PROPRIETE_NON_TROUVEE = 3270
Dim Db As DAO.Database
Public Sub InitialisePropriétés(VraiFaux As Boolean)
Set Db = CurrentDb
ModifiePropriété "StartupShowDBWindow", dbBoolean, VraiFaux
ModifiePropriété "StartupShowStatusBar", dbBoolean, VraiFaux
ModifiePropriété "AllowFullMenus", dbBoolean, VraiFaux
ModifiePropriété "AllowShortcutMenus", dbBoolean, VraiFaux
ModifiePropriété "AllowBuiltinToolbars", dbBoolean, VraiFaux
ModifiePropriété "AllowToolbarChanges", dbBoolean, VraiFaux
ModifiePropriété "AllowBreakIntoCode", dbBoolean, VraiFaux
ModifiePropriété "AllowBypassKey", dbBoolean, VraiFaux
ModifiePropriété "AllowSpecialKeys", dbBoolean, VraiFaux
If VraiFaux = True Then
ModifiePropriété "AppTitle", dbText
ModifiePropriété "AppIcon", dbText
ModifiePropriété "StartupForm", dbText
Else
ModifiePropriété "AppTitle", dbText, "MonAppli"
ModifiePropriété "AppIcon", dbText, "C:xxxLogo.ico"
ModifiePropriété "StartupForm", dbText, "MenuPrincipal"
End If
End Sub
'Attention ligne ci-dessous sur une seule ligne :
Public Sub ModifiePropriété(NomPropriété As String, TypePropriété As
Variant, Optional ValeurPropriété As Variant = "")
Dim Prp As DAO.Property
On Error GoTo Err_ModifiePropriété
If ValeurPropriété = "" Then
Db.Properties().Delete NomPropriété
Else
Db.Properties(NomPropriété) = ValeurPropriété
End If

Exit_ModifiePropriété:
Exit Sub

Err_ModifiePropriété:
If Err = PROPRIETE_NON_TROUVEE Then
On Error Resume Next
Set Prp = Db.CreateProperty(NomPropriété, TypePropriété,
ValeurPropriété)
Db.Properties.Append Prp
On Error GoTo 0
Resume Exit_ModifiePropriété
Else ' Autre erreur
Resume Exit_ModifiePropriété
End If
End Sub
A+

"J.L."
Merci de ta patience.

Maintenant, ça bloque à End Sub, juste avant la commande

Public Sub ModifiePropriété (NomPropriété As String, TypePropriété As
Variant, Optional ValeurPropriété As Variant = "") As Boolean


Le 2010-04-16 12:23, jero a écrit :
Salut,
Modifie Public Sub ModifiePropriété... par Public Function
ModifiePropriété....
Excuse-moi....
A+
"J.L."
Le 2010-04-16 00:02, jero a écrit :
Salut,
Il te manque la référence "Microsoft Office xx.x Access database engine
object library" où xx.x est la version d'Office (12.0 pour 2007 par
ex.)
Je n'ai pas access 2000, je ne sais pas quel est le nom exacte de la
référence sous cette version... (peut-être Microsoft ...DAO...)
Sous VBE, vas dans "Outils, Références" et coche ce qu'il te manque...
Autre : à propos de ta demande ; tu peux aussi faire en sorte que tous
les
formulaires, états que tu ouvres soient en fenêtre modale (ça interdit
à
l'utilisateur de cliquer "ailleurs") propriété Fen modale : Oui ou par
vba :
DoCmd.OpenForm "NomForm", , , , , acDialog
A+
"J.L."
Merci, pour le VBA!

Il y a un petit problème. Quand je compile il me donne une erreur de
compilation sur la ligne Public Db as DAO.Database.

J'ai oublié de préciser que j'utilise une version Access 2000.


Le 2010-04-15 12:17, jero a écrit :
Salut,
Oui c'est possible (avec ou sans mot de passe) en modifiant certaines
options d'Access
En VBA, ça donne (exemple)
Public Db as DAO.Database

Public Const PROPRIETE_NON_TROUVEE = 3270

'.....

Public Sub InitialisePropriétés(VraiFaux As Boolean)

Set Db=CurrentDb

ModifiePropriété "StartupShowDBWindow", dbBoolean, VraiFaux

ModifiePropriété "StartupShowStatusBar", dbBoolean, VraiFaux

ModifiePropriété "AllowFullMenus", dbBoolean, VraiFaux

ModifiePropriété "AllowShortcutMenus", dbBoolean, VraiFaux

ModifiePropriété "AllowBuiltinToolbars", dbBoolean, VraiFaux

ModifiePropriété "AllowToolbarChanges", dbBoolean, VraiFaux

ModifiePropriété "AllowBreakIntoCode", dbBoolean, VraiFaux

ModifiePropriété "AllowBypassKey", dbBoolean, VraiFaux

ModifiePropriété "AllowSpecialKeys", dbBoolean, VraiFaux

If VraiFaux = True Then

ModifiePropriété "AppTitle", dbText

ModifiePropriété "AppIcon", dbText

ModifiePropriété "StartupForm", dbText

Else

ModifiePropriété "AppTitle", dbText, "xxxxxx"

ModifiePropriété "AppIcon", dbText, "C:MonLogo.ico"

ModifiePropriété "StartupForm", dbText, "frmAccueil"

End If

End Sub

'.....

Public Sub ModifiePropriété(NomPropriété As String, TypePropriété As
Variant, Optional ValeurPropriété As Variant = "") As Boolean

Dim Prp As DAO.Property

On Error GoTo Err_ModifiePropriété

If ValeurPropriété = "" Then

Db.Properties().Delete NomPropriété

Else

Db.Properties(NomPropriété) = ValeurPropriété

End If

ModifiePropriété = True



Exit_ModifiePropriété:

Exit Function



Err_ModifiePropriété:

If Err = PROPRIETE_NON_TROUVEE Then






Merci beaucoup de ta patience et de ton aide Jero.

Cette fois il bloque sur ModifieProrpiété quand je compile.

Il donne comme message :
Erreur de compilation
Sub ou Fonction non définie

J.L. Access 2000


On Error Resume Next

Set Prp = Db.CreateProperty(NomPropriété, TypePropriété,
ValeurPropriété)

Db.Properties.Append Prp

On Error GoTo 0

Resume Exit_ModifiePropriété

Else ' Autre erreur

ModifiePropriété = False

Resume Exit_ModifiePropriété

End If

End Sub

'.....

Pour "bloquer" : InitialisePropriétés False

Pour "débloquer" : InitialisePropriétés True

ATTENTION :

AllowBypassKey : DANGER ! (vas voir dans l'aide) et AVANT TOUT ESSAI
:
SAUVEGARDE....

A+

"J.L." edGxn.141842$
Bonjour,

Est-il possible de bloquer par mot de passe une base de données
après
que
la page de d'accueil soit ouverte. C'est-à-dire empêcher les gens
d'avoir
accès aux tables, requêtes, formulaires, états, etc... Il faudrait
qu'il
n'utilise que le formulaire d'accueil.





















J.L.
Le #21579731
Un gros merci à toi Jero!!! Et merci pour ta patience.

Ça fonctionne parfaitement! C'est justement ce que je voulais!

Encore merci! C'est super!

Le 2010-04-17 00:39, jero a écrit :
Salut,
Maintenant, ça bloque à End Sub, juste avant la commande : fais attention
aux retours à la ligne dans ton logiciel de messagerie


Option Compare Database
Option Explicit
Public Const PROPRIETE_NON_TROUVEE = 3270
Dim Db As DAO.Database
Public Sub InitialisePropriétés(VraiFaux As Boolean)
Set Db = CurrentDb
ModifiePropriété "StartupShowDBWindow", dbBoolean, VraiFaux
ModifiePropriété "StartupShowStatusBar", dbBoolean, VraiFaux
ModifiePropriété "AllowFullMenus", dbBoolean, VraiFaux
ModifiePropriété "AllowShortcutMenus", dbBoolean, VraiFaux
ModifiePropriété "AllowBuiltinToolbars", dbBoolean, VraiFaux
ModifiePropriété "AllowToolbarChanges", dbBoolean, VraiFaux
ModifiePropriété "AllowBreakIntoCode", dbBoolean, VraiFaux
ModifiePropriété "AllowBypassKey", dbBoolean, VraiFaux
ModifiePropriété "AllowSpecialKeys", dbBoolean, VraiFaux
If VraiFaux = True Then
ModifiePropriété "AppTitle", dbText
ModifiePropriété "AppIcon", dbText
ModifiePropriété "StartupForm", dbText
Else
ModifiePropriété "AppTitle", dbText, "MonAppli"
ModifiePropriété "AppIcon", dbText, "C:xxxLogo.ico"
ModifiePropriété "StartupForm", dbText, "MenuPrincipal"
End If
End Sub
'Attention ligne ci-dessous sur une seule ligne :
Public Sub ModifiePropriété(NomPropriété As String, TypePropriété As
Variant, Optional ValeurPropriété As Variant = "")
Dim Prp As DAO.Property
On Error GoTo Err_ModifiePropriété
If ValeurPropriété = "" Then
Db.Properties().Delete NomPropriété
Else
Db.Properties(NomPropriété) = ValeurPropriété
End If

Exit_ModifiePropriété:
Exit Sub

Err_ModifiePropriété:
If Err = PROPRIETE_NON_TROUVEE Then
On Error Resume Next
Set Prp = Db.CreateProperty(NomPropriété, TypePropriété,
ValeurPropriété)
Db.Properties.Append Prp
On Error GoTo 0
Resume Exit_ModifiePropriété
Else ' Autre erreur
Resume Exit_ModifiePropriété
End If
End Sub
A+

"J.L."
Merci de ta patience.

Maintenant, ça bloque à End Sub, juste avant la commande

Public Sub ModifiePropriété (NomPropriété As String, TypePropriété As
Variant, Optional ValeurPropriété As Variant = "") As Boolean


Le 2010-04-16 12:23, jero a écrit :
Salut,
Modifie Public Sub ModifiePropriété... par Public Function
ModifiePropriété....
Excuse-moi....
A+
"J.L."
Le 2010-04-16 00:02, jero a écrit :
Salut,
Il te manque la référence "Microsoft Office xx.x Access database engine
object library" où xx.x est la version d'Office (12.0 pour 2007 par
ex.)
Je n'ai pas access 2000, je ne sais pas quel est le nom exacte de la
référence sous cette version... (peut-être Microsoft ...DAO...)
Sous VBE, vas dans "Outils, Références" et coche ce qu'il te manque...
Autre : à propos de ta demande ; tu peux aussi faire en sorte que tous
les
formulaires, états que tu ouvres soient en fenêtre modale (ça interdit
à
l'utilisateur de cliquer "ailleurs") propriété Fen modale : Oui ou par
vba :
DoCmd.OpenForm "NomForm", , , , , acDialog
A+
"J.L."
Merci, pour le VBA!

Il y a un petit problème. Quand je compile il me donne une erreur de
compilation sur la ligne Public Db as DAO.Database.

J'ai oublié de préciser que j'utilise une version Access 2000.


Le 2010-04-15 12:17, jero a écrit :
Salut,
Oui c'est possible (avec ou sans mot de passe) en modifiant certaines
options d'Access
En VBA, ça donne (exemple)
Public Db as DAO.Database

Public Const PROPRIETE_NON_TROUVEE = 3270

'.....

Public Sub InitialisePropriétés(VraiFaux As Boolean)

Set Db=CurrentDb

ModifiePropriété "StartupShowDBWindow", dbBoolean, VraiFaux

ModifiePropriété "StartupShowStatusBar", dbBoolean, VraiFaux

ModifiePropriété "AllowFullMenus", dbBoolean, VraiFaux

ModifiePropriété "AllowShortcutMenus", dbBoolean, VraiFaux

ModifiePropriété "AllowBuiltinToolbars", dbBoolean, VraiFaux

ModifiePropriété "AllowToolbarChanges", dbBoolean, VraiFaux

ModifiePropriété "AllowBreakIntoCode", dbBoolean, VraiFaux

ModifiePropriété "AllowBypassKey", dbBoolean, VraiFaux

ModifiePropriété "AllowSpecialKeys", dbBoolean, VraiFaux

If VraiFaux = True Then

ModifiePropriété "AppTitle", dbText

ModifiePropriété "AppIcon", dbText

ModifiePropriété "StartupForm", dbText

Else

ModifiePropriété "AppTitle", dbText, "xxxxxx"

ModifiePropriété "AppIcon", dbText, "C:MonLogo.ico"

ModifiePropriété "StartupForm", dbText, "frmAccueil"

End If

End Sub

'.....

Public Sub ModifiePropriété(NomPropriété As String, TypePropriété As
Variant, Optional ValeurPropriété As Variant = "") As Boolean

Dim Prp As DAO.Property

On Error GoTo Err_ModifiePropriété

If ValeurPropriété = "" Then

Db.Properties().Delete NomPropriété

Else

Db.Properties(NomPropriété) = ValeurPropriété

End If

ModifiePropriété = True



Exit_ModifiePropriété:

Exit Function



Err_ModifiePropriété:

If Err = PROPRIETE_NON_TROUVEE Then






Merci beaucoup de ta patience et de ton aide Jero.

Cette fois il bloque sur ModifieProrpiété quand je compile.

Il donne comme message :
Erreur de compilation
Sub ou Fonction non définie

J.L. Access 2000


On Error Resume Next

Set Prp = Db.CreateProperty(NomPropriété, TypePropriété,
ValeurPropriété)

Db.Properties.Append Prp

On Error GoTo 0

Resume Exit_ModifiePropriété

Else ' Autre erreur

ModifiePropriété = False

Resume Exit_ModifiePropriété

End If

End Sub

'.....

Pour "bloquer" : InitialisePropriétés False

Pour "débloquer" : InitialisePropriétés True

ATTENTION :

AllowBypassKey : DANGER ! (vas voir dans l'aide) et AVANT TOUT ESSAI
:
SAUVEGARDE....

A+

"J.L." edGxn.141842$
Bonjour,

Est-il possible de bloquer par mot de passe une base de données
après
que
la page de d'accueil soit ouverte. C'est-à-dire empêcher les gens
d'avoir
accès aux tables, requêtes, formulaires, états, etc... Il faudrait
qu'il
n'utilise que le formulaire d'accueil.

























Publicité
Poster une réponse
Anonyme