Votre avis sur mon code VBA svp

peanut -  
 peanut -
Bonjour,

Je voudrais savoir si le code suivant vous paraît correct.

Private Sub Commande49_Click()
On Error GoTo Err_Commande49_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "Code-Evenement"

'si le formulaire code Evt peut être activé
If SetFocus.Forms!stDocName Is True Then

DoCmd.OpenForm stDocName, , , stLinkCriteria
DoCmd.Maximize

'sinon afficher une boîte de dialogue avec un champ pour entrer le mot de passe
Else:
Dim message, title, defaultValue As String
Dim myValue As Object
' Affiche la demande.
message = "Entrer le mot de passe"
' Définit le titre.
title = "Accès au référentiel"
' valeur par défaut
defaultValue = ""

' Affiche le message, titre et valeur par défaut.
myValue = InputBox(message, title, defaultValue)
' Si l'utilisateur a cliqué sur Annuler, mettre la valeur par défaut
If myValue Is "" Then myValue = defaultValue
' si la personne entre le bon mot de passe
If myValue Is "mypassword" Then
DoCmd.OpenForm stDocName, , , stLinkCriteria
DoCmd.Maximize
Else: msgbox("erreur de mot de passe")

Exit_Commande49_Click:
Exit Sub

Err_Commande49_Click:
MsgBox Err.Description
Resume Exit_Commande49_Click

End Sub
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. clem285 Messages postés 290 Statut Membre 83
     
    test le avec ton compilateur, si il est incorrect, tu le verras de suite
    0
  2. peanut
     
    Oui bien sûr mais j'ai PEUR - mdr

    Une question me démange : est-ce que la ligne

    'si le formulaire code Evt peut être activé
    If SetFocus.Forms!stDocName Is True Then

    est correct ? comment poser comme condition : "si le formulaire a déjà été ouvert" ?
    0
  3. peanut
     
    cela ne fonctionne pas. il attend une variable ou une fonction.
    0