maxou224
Messages postés5Date d'inscriptionlundi 6 octobre 2008StatutMembreDernière intervention 2 juin 2010
-
30 avril 2010 à 09:25
cs_ghuysmans99
Messages postés3983Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 2013
-
30 avril 2010 à 18:05
Bonjour je suis actuellement en stage d'informatique et on me demande de créer un logiciel de gestion de salle, Il y a trois services qui peuvent accéder au logiciel, service culturel, jeunesse et sports.
Je crée donc un formulaire de "connexion" ou on choisi dans une liste déroulant le service désiré et on entre dans un champs texte le mot de passe de se service. Mais mon code en marche pas pour la connexion :
Il ne rentre pas dans le If mais je sait pas pourquoi :s j'ai vraiment tenté plein de truc et même mon maitre de stage ne voit pas
Private Sub Commande_connexion_Click()
Dim mabd As Database
Dim matable As Recordset
Dim trouve As Boolean
Dim Touv As String
Set mabd = DBEngine.Workspaces(0).Databases(0)
Set matable = mabd.OpenRecordset("Service_mdp", DB_OPEN_TABLE) ' Ouvre la table.
trouve = False
matable.MoveFirst
Do Until matable.EOF Or trouve = True
If matable!nom_service Me!liste_service And matable!mdp_service Me!text_mdp Then
trouve = True
MsgBox "Ok"
Else
MsgBox "code erroné"
DoCmd.Close
End If
matable.MoveNext
Loop
End Sub
cs_ghuysmans99
Messages postés3983Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 30 avril 2010 à 18:05
Absolument aucun intérêt à parcourir tout le RS, le SQL c'est fait pour.
Option Explicit
Public Function Pure(S As String) As String
Pure = Replace(S,"'","''")
End Function
Private Sub Commande_connexion_Click()
Dim Db As Database : Set Db = DBEngine.Workspaces(0).Databases(0)
Dim Rs As Recordset : Dim SQL As String
SQL = "SELECT id_service FROM Service_mdp WHERE nom_service='%1' AND mdp_service='%2';"
SQL = Replace(SQL,"%1",Pure(Me.nom_service.Text))
SQL = Replace(SQL,"%2",Pure(Me.text_mdp.Text))
Set Rs = Db.OpenRecordset(SQL)
If Rs.EOF Then
MsgBox "Mot de passe erroné. Bye-bye !", vbCritical, "Erreur"
DoCmd.Close
Else
MsgBox "OOkay c'est bon ...", vbInformation
End If
Rs.Close : Set Rs = Nothing
End Sub