IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Access/vba Récupération d'une valeur


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 43
    Points : 30
    Points
    30
    Par défaut Access/vba Récupération d'une valeur
    Bonjour a tous,

    Je travail sur un logiciel de gestion des clés. Il est presque fini il ne me reste plus qu'une seule chose a résoudre.

    Mon formulaire de départ et un formulaire de connexion, avec nom d'utilisateur et mot de passe et lorsque l'utilisateur click sur le bouton connexion j'aimerai alors inscrire dans une variable une autre le N° utilisateur. car j'ai besoin de ce numéro pour savoir dans la suite du logiciel quel utilisateur a éffectué un emprunt.

    Ma table Utilisateur se comporte de cette facon :
    cl_N°, cl_NomUti, cl_Nom, cl_Prenom, cl_Tel, cl_AdMail, cl_Mdp.
    La clé primaire étant cl_N° et c'est cela que je voudrai récupéré pour inscrire ce numéro plus tard lors de l'utilisation d'un autre formulaire.

    Dans l'attente d'une réponse, bonne journée a tous !

  2. #2
    Membre habitué Avatar de jimay
    Profil pro
    Inscrit en
    Août 2006
    Messages
    146
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 146
    Points : 178
    Points
    178
    Par défaut
    Salut,

    Biens que cette solution ne soit pas très "propre" et qu'il doit en exister des meilleures, je peux te proposer ceci :

    Tu déclare une variable en Global
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public NumUtil as Integer
    Et ensuite tu peux récupérer ton identifiant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NumUtil = DLookup("[cl_N°]", "Utilisateur", "cl_Nom = " & MonNom & " AND cl_Mdp = " & MonMdp )

    voilou.


    Ps: évite d'utiliser des caractères spéciaux dans les noms de champs (°)

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 43
    Points : 30
    Points
    30
    Par défaut
    Merci je vais aller essayer alors mais d'aprés le code je ne sais pas si je pouré utiliser cette variable dans un autre formulaire je vais essayer dans tous les cas.

    Et en ce qui concerne le champs cl_N° dans ma BDD il est nommé cl_Num ^^

  4. #4
    Membre habitué Avatar de jimay
    Profil pro
    Inscrit en
    Août 2006
    Messages
    146
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 146
    Points : 178
    Points
    178
    Par défaut
    Pour que la variable soit utilisable dans tout ton programme tu peux la déclarer dans un module à part.

  5. #5
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 43
    Points : 30
    Points
    30
    Par défaut
    Oui j'ai vu que je pouvait faire cela mais je ne voit pas comment utiliser ce module ! :/

  6. #6
    Membre habitué Avatar de jimay
    Profil pro
    Inscrit en
    Août 2006
    Messages
    146
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 146
    Points : 178
    Points
    178
    Par défaut
    Il n'y a pas grand chose à faire,

    Il suffit de le créer, et le code (autre que des méthodes ou des fonctions) est éxécuté au lancement de l'appli.

    Donc des variables globales créées à cet endroit sont créees au lancement d'Access et sont utilisables partout jusqu'à la fermeture

  7. #7
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 43
    Points : 30
    Points
    30
    Par défaut
    Oui mais je t'avouerai que la je me trouve un peu con devant la situation parce que meme niveau code ou meme création de ce module je ne voit pas ! tout est flou :p

    je ne voit pas ce que je peux mettre dans mon module pour récupéré cette variable et quoi mettre pour utiliser cette variable dans un autre formulaire :/

  8. #8
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 43
    Points : 30
    Points
    30
    Par défaut
    Dans mon formulaire j'arrive a récupéré le numéro de l'utilisateur et j'aimerai placé cette valeur dans un module pour pouvoir utiliser cette valeur dans un autre formulaire. Quelqu'un pourrait me dire comment faire pour placé cette valeur dans un module? svpppp

  9. #9
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Comment indiqué plus haut,

    1. Déclaration d'une variable publique dans un nouveau module.

    Public pub_utilisateur as string


    2. Dans le formulaire de connexion, modifier le code de telle sorte à stocker ce numéro dans la variable pub_utilsateur

    Pour ça montre nous le code de connexion

  10. #10
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 43
    Points : 30
    Points
    30
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Dim RSpersonne As DAO.Recordset
    Dim Reconnu As Boolean
    
    Reconnu = False
    
    'Vérification que le mot de passe correspond bien a celui de l'utilisateur
    
    Set RSpersonne = CurrentDb.OpenRecordset("Utilisateur")
    
    Do While Not RSpersonne.EOF
            If RSpersonne.Fields("ut_NomUtilisateur").Value = UtilisateurTextBox.Value Then
                If RSpersonne.Fields("ut_Mdp").Value = MdpTextBox.Value Then
                    intNum = RSpersonne![ut_Num]
                    DoCmd.Close
                    DoCmd.OpenForm ("FormGestCle")
                    Reconnu = True
                    Exit Do
                Else
                    MsgBox ("Mot de passe invalide"), vbExclamation, "Attention..."
                    MdpTextBox.SetFocus
                    GoTo Fin
                End If
            End If
            RSpersonne.MoveNext
    Loop
    
    If Reconnu = False Then
        MsgBox "Utilisateur non reconnu !!!", vbCritical, "Attention.."
        GoTo Fin
    End If
    GoTo Fin
    Voila c'est la partie du code en rouge que je voudrai récupéré parce que dans un autre formulaire j'aurais besoin de cette valeur lorsque l'utilisateur ajoutera une nouvelle entreprise ( table utilisateur et entreprise lié )

  11. #11
    Membre habitué Avatar de jimay
    Profil pro
    Inscrit en
    Août 2006
    Messages
    146
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 146
    Points : 178
    Points
    178
    Par défaut
    Rebonjour,

    je ne vois pas trop comment nous pourrions t'aider plus que ça mais je vais essayer ^^

    Dans un Module indépendant ( Dans la fenêtre VBA => Insertion => Module )
    Les variables publiques doivent être déclarées en dehors de toutes fonctions ou procédures et elles sont accessibles de n'importe où dans le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public intNum as integer
    Pour ton Formulaire de Login :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    dim RSpersonne as DAO.Recordset
    dim nom, pass as String
     
    'Vérifiaction du nom d'utilisateur et du mot de passe
    set RSpersonne = currentDb.OpenRecordset("SELECT * FROM Utilisateur WHERE ut_NomUtilisateur = '" & nom & "' AND ut_Mdp = '" & pass & "'" )
     
    If RSpersonne.RecordCount <> 0 then
        'leintNum utilisé ici est celui qui a été déclaré dans le module
        intNum = RSpersonne.fields("ut_Num")
    Else RSpersonne.RecordCount = 0 then
        msgbox ("Login ou Mot de passe inccorect")
    EndIf

    Et partout ailleur dans ton application si tu as besoin de savoir qui est loggé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'Le intNum utilisé ici est le même que celui des deux autres morceaux de code, il contient la valeur que l'on lui a assigné lors du loggin
    msgbox "Bonjour vous êtes l'utilisateur N°" & intNum

    voilà ^^ j'espère que ça répond à ta question, si non, hésite pas à redemander

  12. #12
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 43
    Points : 30
    Points
    30
    Par défaut
    ok je te remercie je vient de mettre en oeuvre ce que tu vien de me dire et cela fonctionne !!!

    Je dirais meme que je me trouve assez *** devant la simplicité de la commande :/ mais bon les modules avant je les utilisé pas maintenant je pourrais les utiliser !!

    je te remercie jimay !!

  13. #13
    Membre habitué Avatar de jimay
    Profil pro
    Inscrit en
    Août 2006
    Messages
    146
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 146
    Points : 178
    Points
    178
    Par défaut
    pas de soucis, ça fait plaisir d'aider,

    et il ne faut surtout pas hésiter à poser des questions c'est comme ça qu'on progresse

    J'en apprend tous les jours sur ce fofo

  14. #14
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 43
    Points : 30
    Points
    30
    Par défaut
    oui c'est sur, j'ai appris tellement de chose en passant sur les forum en peu de tps. Donc un grand merci a toi et aux autres ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/10/2014, 13h19
  2. [VBA-A] Récupérer une valeur dans une table Access
    Par Dude2006 dans le forum VBA Access
    Réponses: 1
    Dernier message: 16/04/2006, 00h56
  3. [ACCESS SQL] génération d'une valeur / ligne courante ?
    Par kikidrome dans le forum Langage SQL
    Réponses: 2
    Dernier message: 15/11/2005, 14h20
  4. Réponses: 2
    Dernier message: 03/11/2005, 16h03
  5. récupération d'une valeur dans une variable
    Par jh0483 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/08/2005, 10h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo