Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment créer un login et mot de passe dans un formulaire access

8 réponses
Avatar
Laurent
je souhaite créer un formulaire avec LOGIN et mot de passe
Est ce que je dois passer par une table ???

Merci beaucoup

8 réponses

Avatar
Bonjour quand même

"Laurent" a écrit dans le message de news:
je souhaite créer un formulaire avec LOGIN et mot de passe
Est ce que je dois passer par une table ???

Merci beaucoup


non, on peut stocker les valeurs dans des variables ou constantes vba directement dans l'événement "sur ouverture" du formulaire

a+
--
Arnaud
---------------------------------------------
infos, conseils et liens : http://www.mpfa.info
---------------------------------------------

Avatar
Laurent
est-ce que tu as un exemple de syntaxe pour entrer les valeurs dans les
variables
je patauge un peu beaucoup
merci


Bonjour quand même

"Laurent" a écrit dans le message de news:
je souhaite créer un formulaire avec LOGIN et mot de passe
Est ce que je dois passer par une table ???

Merci beaucoup


non, on peut stocker les valeurs dans des variables ou constantes vba directement dans l'événement "sur ouverture" du formulaire

a+
--
Arnaud
---------------------------------------------
infos, conseils et liens : http://www.mpfa.info
---------------------------------------------






Avatar
Bonjour

je suppose qu'il faut stocker les noms d'utilisateurs et mots de passe sous forme de tableau,
puis comparer le mot de passe saisi avec celui correspondant au user recherché dans le fameux tableau en fonction de la valeur du
contrôle du formulaire.

Mon pb, c'est que je ne suis pas très familier avec les tableaux et que je dois me replonger dans la doc access pour pondre du code.

Si quelqu'un a envie et surtout le temps de se pencher sur ce problème, qu'il ne se gène pas ;-)


--
Arnaud
---------------------------------------------
infos, conseils et liens : http://www.mpfa.info
---------------------------------------------


"Laurent" a écrit dans le message de news:
est-ce que tu as un exemple de syntaxe pour entrer les valeurs dans les
variables
je patauge un peu beaucoup
merci


Bonjour quand même

"Laurent" a écrit dans le message de news:

je souhaite créer un formulaire avec LOGIN et mot de passe
Est ce que je dois passer par une table ???

Merci beaucoup


non, on peut stocker les valeurs dans des variables ou constantes vba directement dans l'événement "sur ouverture" du formulaire

a+
--
Arnaud
---------------------------------------------
infos, conseils et liens : http://www.mpfa.info
---------------------------------------------








Avatar
Eric
Bonsoir,

Je me lance, mais en faisant simple.
1 - Dans un module de portée globale nommé par exemple ModLoginPW:

Option Compare Database
Option Base 1 ' pour simplifier
Option Explicit
Type sLoginPw
' adapter les longueurs
Login As String * 5
PW As String * 5
End Type

Public LoginPw(5) As sLoginPw ' adapter la dimension au besoin

Sub Initialisation()
' Par souci de simplification
' le login : 5 fois le même caractère
' le pw une chaine de 5 caractères compteur
Dim i As Integer
' génération des login & pw
For i = 1 To 5
LoginPw(i).Login = String(5, Chr(64 + i))
LoginPw(i).PW = String(5, i)
Next i
End Sub

2 - Soit frmLogin le nom du formulaire de log avec 2 Textboxes nommées
Login et Pw (textbox avec masque de saisie Password) et un bouton de
commande cmdValid. Ce formmulaire sera le formulaire de démarrage de
l'application

Sur chargement du formulaire, chargement des login & pw :
Private Sub Form_Load()
Call Initialisation
End Sub

Sur click du bouton:
Private Sub cmdValid_Click()
Dim i As Integer, ok As Boolean
For i = 1 To 5
If Me!Login = LoginPw(i).Login And Me.PW = LoginPw(i).PW Then
ok = True
Exit For
End If
Next i
If ok Then
DoCmd.OpenForm "Formulaire Menu" ' par exemple
DoCmd.Close acForm, Me.Name ' fermeture de frmLogin
Else
MsgBox "Login ou Mot de passe erroné", vbInformation
End If
Erase LoginPw ' effacement des login et pw de la mémoire
End Sub

Si ça peut dépanner ?

Bonjour

je suppose qu'il faut stocker les noms d'utilisateurs et mots de passe sous forme de tableau,
puis comparer le mot de passe saisi avec celui correspondant au user recherché dans le fameux tableau en fonction de la valeur du
contrôle du formulaire.

Mon pb, c'est que je ne suis pas très familier avec les tableaux et que je dois me replonger dans la doc access pour pondre du code.

Si quelqu'un a envie et surtout le temps de se pencher sur ce problème, qu'il ne se gène pas ;-)




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Eric
.../...

Après réflexion,
Il n'est pas nécessaire de créer un module de portée globale.
Tout peut être mis dans le module du formulaire frmLogin.

De plus, il y a une erreur sur la création des pw.
Après correction ça donne au final:

Option Compare Database
Option Base 1 ' pour simplifier
Option Explicit
Private Type sLoginPw
' adapter les longueurs et au besoin
Login As String * 5
PW As String * 5
End Type

'Remplacement du Public par un Dim dans l'instruction suivante
Dim LoginPw(5) As sLoginPw ' adapter la dimension au besoin

Private Sub cmdValid_Click()
Dim i As Integer, ok As Boolean
For i = 1 To 5
If Me!Login = LoginPw(i).Login And Me.PW = LoginPw(i).PW Then
ok = True
Exit For
End If
Next i
If ok Then
DoCmd.OpenForm "Formulaire Menu" ' par exemple
DoCmd.Close acForm, Me.Name ' fermeture de frmLogin
Else
MsgBox "Login ou Mot de passe erroné", vbInformation
End If
Erase LoginPw ' effacement des login et pw de la mémoire
End Sub

Private Sub Form_Load()
Call Initialisation
End Sub

Sub Initialisation()
' Par souci de simplification
' le login : 5 fois le même caractère
' le pw une chaine de 5 caractères compteur
Dim i As Integer
' génération des login & pw
For i = 1 To 5
LoginPw(i).Login = String(5, Chr(64 + i))
LoginPw(i).PW = String(5, CStr(i)) '<<<------ Correction de
l'erreur
Next i
End Sub


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Avatar
Salut Eric

ça va beaucoup mieux quand on reçoit un coup de pouce ;-)

j'ai gardé le code suivant dans mes "tablettes" qui pourra certainement être amélioré :

Option Compare Database
Option Explicit

Const NbMax As Integer = 5

Dim Logins(NbMax) As String
Dim Passwords(NbMax) As String

Private Sub Form_Load()
Logins(1) = "marcel"
Passwords(1) = "123456"
Logins(2) = "robert"
Passwords(2) = "234567"
End Sub

Private Sub btnLogin_Click()

Dim i As Integer, ok As Boolean
For i = 1 To NbMax
If Me!txtUser.Value = Logins(i) And Me!txtPassword.Value = Passwords(i) Then
ok = True
Exit For
End If
Next i
If ok Then
MsgBox "ok", vbInformation
Else
MsgBox "Login ou Mot de passe erroné", vbCritical
End If

End Sub

merci en tout cas

a+
--
Arnaud
---------------------------------------------
infos, conseils et liens : http://www.mpfa.info
---------------------------------------------



"Eric" a écrit dans le message de news:
.../...

Après réflexion,
Il n'est pas nécessaire de créer un module de portée globale.
Tout peut être mis dans le module du formulaire frmLogin.

De plus, il y a une erreur sur la création des pw.
Après correction ça donne au final:

Option Compare Database
Option Base 1 ' pour simplifier
Option Explicit
Private Type sLoginPw
' adapter les longueurs et au besoin
Login As String * 5
PW As String * 5
End Type

'Remplacement du Public par un Dim dans l'instruction suivante
Dim LoginPw(5) As sLoginPw ' adapter la dimension au besoin

Private Sub cmdValid_Click()
Dim i As Integer, ok As Boolean
For i = 1 To 5
If Me!Login = LoginPw(i).Login And Me.PW = LoginPw(i).PW Then
ok = True
Exit For
End If
Next i
If ok Then
DoCmd.OpenForm "Formulaire Menu" ' par exemple
DoCmd.Close acForm, Me.Name ' fermeture de frmLogin
Else
MsgBox "Login ou Mot de passe erroné", vbInformation
End If
Erase LoginPw ' effacement des login et pw de la mémoire
End Sub

Private Sub Form_Load()
Call Initialisation
End Sub

Sub Initialisation()
' Par souci de simplification
' le login : 5 fois le même caractère
' le pw une chaine de 5 caractères compteur
Dim i As Integer
' génération des login & pw
For i = 1 To 5
LoginPw(i).Login = String(5, Chr(64 + i))
LoginPw(i).PW = String(5, CStr(i)) '<<<------ Correction de l'erreur
Next i
End Sub


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Avatar
Eric
Bonsoir Arnaud,

Salut Eric

ça va beaucoup mieux quand on reçoit un coup de pouce ;-)

Faut dire que tu avais laissé la porte bien entr'ouverte ;-)


Si quelqu'un a envie ..., qu'il ne se gène pas ;-)


En plus, le post me 'parlait' suite à ta 1ère réponse.
Juste pour le fun, personnellement, j'emploie une
variable-utilisateur dès lors que les informations sont liées.
Mais les 2 solutions sont satisfaisantes. C'est une question de
préférence.

--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
re Eric

"Eric" <
Juste pour le fun, personnellement, j'emploie une
variable-utilisateur dès lors que les informations sont liées.


tu veux dire le Type machin ?
J'ignorais comment il fallait s'en servir jusqu'à ce soir, et ce post aura le mérite de se rappeler à ma mémoire de temps en temps
;-)

je cherchais également une solution dans ce genre là; mais je pensais qu'on pouvait faire une sorte de Lookup
dans un tableau virtuel, trouver le user et comparer avec le mot de passe directement (un peu comme dans excel qui te retourne #N/A
lorsqu'il ne trouve pas)
afin que la routine renvoie ko si mot de passe ne correspond pas OU user non trouvé


--
Arnaud
---------------------------------------------
infos, conseils et liens : http://www.mpfa.info
---------------------------------------------