Grizzzou
Messages postés3Date d'inscriptionlundi 4 octobre 2004StatutMembreDernière intervention 5 octobre 2004 4 oct. 2004 à 20:41
Tu peux changer ton programme en fichier mde afin de protéger tes données et empêcher que les usagers apportent des modifications a ton programme. (la touche shift ne fonctionnera plus)
(Outils/Utilitaires de base de données/Créer un fichier MDE)
N'oublie pas de faire une copie de ton programme avant...
banteke
Messages postés4Date d'inscriptionlundi 4 octobre 2004StatutMembreDernière intervention 5 octobre 2004 5 oct. 2004 à 09:40
Merci. Mais le programme tourne deja en mde.
En fait, Il est scinde en 2. Les tables d'une part et les formulaires d'autre part. Y a un mot de passe pour l'acces a'la mde contenant les tables. pour joindre les 2 la partie formulaire au tables, j'ai fourni le mot de passe. Il y a un formulaire de demarage qui gere les pw des utilisateurs. Mais si au demarrage on appui sur shift, la base s'ouvre en mode modification. Les utilisateurs ne peuvent pas modifier les formulaires ni les codes. Mais ils peuvent ouvrire les table et modifier les donnees. Ces ca mon probleme. Merci encore pour votre aide.
Grizzzou
Messages postés3Date d'inscriptionlundi 4 octobre 2004StatutMembreDernière intervention 5 octobre 2004 5 oct. 2004 à 16:31
Tu peux copier et coller ce code, tu n'as qu'à l'exécuter une seule seule pour que la touche shift ne fonctionne plus...
Sub SetBypassProperty()
Const DB_Boolean As Long = 1
ChangeProperty "AllowBypassKey", DB_Boolean, False
End Sub
Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer
Dim dbs As Object, prp As Variant
Const conPropNotFoundError = 3270
Set dbs = CurrentDb
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True
Change_Bye:
Exit Function
Change_Err:
If Err = conPropNotFoundError Then ' Propriété non trouvée.
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' Erreur inconnue.
ChangeProperty = False
Resume Change_Bye
End If
End Function
Grizzzou
Messages postés3Date d'inscriptionlundi 4 octobre 2004StatutMembreDernière intervention 5 octobre 2004 5 oct. 2004 à 18:05
Salut,
tu n'as qu'a mettre ce code dans un autre fichier access, et a l'exécuter. (N'oublie pas de changer la valeur de la variable maBaseDeDonnees)
Sub SetBypassProperty()
Const DB_Boolean As Long = 1
ChangeProperty "AllowBypassKey", DB_Boolean, True
End Sub
Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer
Dim dbs As Object, prp As Variant
Const conPropNotFoundError = 3270
Dim maBaseDeDonnees As String
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True
Change_Bye:
Exit Function
Change_Err:
If Err = conPropNotFoundError Then ' Propriété non trouvée.
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' Erreur inconnue.
ChangeProperty = False
Resume Change_Bye
End If
End Function