OVH Cloud OVH Cloud

formulaire de connection

3 réponses
Avatar
matthieu.moulon
Bonjour,

dans une base access, je souhaite avoir un petit formulaire de connection
proposant de saisir un nom et un mot de passe.
en cliquant sur le bouton OK, il va comparer ces informations avec celles de
la table "utilisateur" contenant une colonne "nom" et "mot de passe".
Ou puis-je trouver le code à appliquer sur le bouton "ok" pour que cela
fonctionne et permette l'accès à ma base.
(Jimagine, qu'il fo scanner toute la table utilisateur comparé que pour la
meme ligne, les enregistrements "nom" et "mot de passe" correspondent avec
ceux saisie dans le formulaire)

Autre petit soucis, comment donner un format de style "mot de passe",
composé d'astérisques ***** sur un champ ?

Merci d'avance pour toute ces infos.

Cordialement;
Matthieu

3 réponses

Avatar
Damran
"matthieu.moulon" a écrit dans le message de
news:bl1hc4$kl6$
Bonjour,
Bonjour



dans une base access, je souhaite avoir un petit formulaire de connection
proposant de saisir un nom et un mot de passe.
en cliquant sur le bouton OK, il va comparer ces informations avec celles
de

la table "utilisateur" contenant une colonne "nom" et "mot de passe".
Ou puis-je trouver le code à appliquer sur le bouton "ok" pour que cela
fonctionne et permette l'accès à ma base.
(Jimagine, qu'il fo scanner toute la table utilisateur comparé que pour la
meme ligne, les enregistrements "nom" et "mot de passe" correspondent
avec

ceux saisie dans le formulaire)
Il y a plusieurs étapes.

1/ Ouvrir le formulaire au démarrage. Dans Outils --> Démarrage, tu choisit
le bon formulaire de départ.
2/ Sur le boutton ok, dans l'évenement sur clic, tu crée une procédure:
If DLookUp("Pass", "Table", "Nom = '" & Me.TxtNom.Value& "'") Me.txtPass.Value Then
'C'est ok
Docmd.Close acForm, Me.Name 'On ferme le form par exemple
Else
'C'est pas ok
Me.txtErr.Value = "Erreur" 'Tu peut indiquer qu'il y a erreur
End If

DLookup te permet de sortir une valeur d'une table avec une condition.
Ici on regarde dans la table si le mot de passe correspondant à
l'utilisateur entré est le même que le mot de passe indiqué.


Autre petit soucis, comment donner un format de style "mot de passe",
composé d'astérisques ***** sur un champ ?
Dans les propriétés de ton champ texte, tu as "Masque de saisie" dans

l'onglet "Données". Tu y met "password" et voilà :-)


Merci d'avance pour toute ces infos.
De rien ;-)



Damran

Avatar
matthieu.moulon
Bonjour,

Je vous recontact au syjet du formulaire de connection pour lequel vous
m'avez fourni une réponse.
j'ai essayé votre solution, j'ai saisie :
If DLookup("[mdp]", "utilisateur", "[Utilisateur] = " &
Forms!Connection![f_nom]) = Forms!Connection![f_mdp] Then ....
(La table s'appel "utilisateur",
le champ nom de l'utilisateur s'appel "Utilisateur,
le champ mot de passe s'appel "mdp"
le formulaire s'appel "Connection"
la zone de texte pour le nom d'utilisateur s'appel "f_nom"
la zone de texte pour le mot de passe s'appel "f_mdp")
comme exemple, je saisie dans le formulaire, le nom "toto" et le mot de
passe "titi"
lors de l'exécution, il m'affiche le message :

Erreur d'exécution 2471
L'expression entrée comme paramètre de requete est à l'origine de l'erreur
suivante :
'L'objet ne contient pas d'objet d'automatisation 'toto"
A mon avis il s'agit d'un pb de ' et de "
Si je change les ' et les " de position, il me met des ereurs de syntaxe



"Damran" a écrit dans le message de
news:3f745a1f$0$20175$

"matthieu.moulon" a écrit dans le message de
news:bl1hc4$kl6$
Bonjour,
Bonjour



dans une base access, je souhaite avoir un petit formulaire de
connection


proposant de saisir un nom et un mot de passe.
en cliquant sur le bouton OK, il va comparer ces informations avec
celles


de
la table "utilisateur" contenant une colonne "nom" et "mot de passe".
Ou puis-je trouver le code à appliquer sur le bouton "ok" pour que cela
fonctionne et permette l'accès à ma base.
(Jimagine, qu'il fo scanner toute la table utilisateur comparé que pour
la


meme ligne, les enregistrements "nom" et "mot de passe" correspondent
avec

ceux saisie dans le formulaire)
Il y a plusieurs étapes.

1/ Ouvrir le formulaire au démarrage. Dans Outils --> Démarrage, tu
choisit

le bon formulaire de départ.
2/ Sur le boutton ok, dans l'évenement sur clic, tu crée une procédure:
If DLookUp("Pass", "Table", "Nom = '" & Me.TxtNom.Value& "'") > Me.txtPass.Value Then
'C'est ok
Docmd.Close acForm, Me.Name 'On ferme le form par exemple
Else
'C'est pas ok
Me.txtErr.Value = "Erreur" 'Tu peut indiquer qu'il y a erreur
End If

DLookup te permet de sortir une valeur d'une table avec une condition.
Ici on regarde dans la table si le mot de passe correspondant à
l'utilisateur entré est le même que le mot de passe indiqué.


Autre petit soucis, comment donner un format de style "mot de passe",
composé d'astérisques ***** sur un champ ?
Dans les propriétés de ton champ texte, tu as "Masque de saisie" dans

l'onglet "Données". Tu y met "password" et voilà :-)


Merci d'avance pour toute ces infos.
De rien ;-)



Damran





Avatar
Damran
"matthieu.moulon" a écrit dans le message de
news:bl4k5s$lb4$
Bonjour,

Je vous recontact au syjet du formulaire de connection pour lequel vous
m'avez fourni une réponse.
j'ai essayé votre solution, j'ai saisie :
If DLookup("[mdp]", "utilisateur", "[Utilisateur] = " &
Forms!Connection![f_nom]) = Forms!Connection![f_mdp] Then ....
(La table s'appel "utilisateur",
le champ nom de l'utilisateur s'appel "Utilisateur,
le champ mot de passe s'appel "mdp"
le formulaire s'appel "Connection"
la zone de texte pour le nom d'utilisateur s'appel "f_nom"
la zone de texte pour le mot de passe s'appel "f_mdp")
comme exemple, je saisie dans le formulaire, le nom "toto" et le mot de
passe "titi"
lors de l'exécution, il m'affiche le message :

Erreur d'exécution 2471
L'expression entrée comme paramètre de requete est à l'origine de l'erreur
suivante :
'L'objet ne contient pas d'objet d'automatisation 'toto"
A mon avis il s'agit d'un pb de ' et de "
Si je change les ' et les " de position, il me met des ereurs de syntaxe
Lorsque tu passe en paramètre un valeur qui demande des quote (les string en

général) il faut mettre un simple quote puis un double pour fermer, ensuite
tu concataine.
If DLookup("[mdp]", "utilisateur", "[Utilisateur] = '" &
Forms!Connection![f_nom] & "'") = Forms!Connection![f_mdp] Then ....
^^

Damran