Probleme avec mon test if

Résolu
cs_cheikhtba Messages postés 26 Date d'inscription vendredi 31 décembre 2004 Statut Membre Dernière intervention 27 février 2007 - 19 janv. 2007 à 14:50
cs_cheikhtba Messages postés 26 Date d'inscription vendredi 31 décembre 2004 Statut Membre Dernière intervention 27 février 2007 - 22 janv. 2007 à 10:41
Bonjour j'ai un probleme avec mon test if , j'ai verifié les champs de ma base et j'ai rempli les meme valeur mais sa ne marche si quelqu'un peut m'aider mon code est le suivant:

var1 = FIdentification.txtNomUtilisateur.Text
 var2 = FIdentification.txtMotdePasse.Text
 
 temp = False
 
 'Ouverture de la base
 ' Set bd = New ADODB.Connection
 'Set bd = Server.CreateObject("AdoDB.Connection")
 cnx1.Open "dsn=facturefondation"
 
 
 'Vérifier si les champs sont vides  If (var1 "") Or (var2 "") Then
    MsgBox "Veuillez renseigner les champs pour faire la connexion!"
  Else
    'Ouverture table ou requete
    Set rs1 = New ADODB.Recordset
   
   
  
   
    rq1 = "Select admin, motdepasse From utilisateur "
  
    rs1.Open rq1, cnx1, adOpenKeyset, adLockReadOnly
  
   Do While Not rs1.EOF
     ' Test si les valeurs saisies sont identiques à celles de ma base     If (rs1.Fields("admin").Value "ba") And (rs1.Fields("motdepasse").Value "test") And (temp = False) Then
  
          temp = True
      
     Else
        rs1.MoveNext
        
     End If
   
   Loop
   
    If temp = True Then
       FIdentification.Hide
       FMenu.Show
      
     
    Else
        MsgBox "Votre Nom ou Mot de passe n'existe pas!"
  
    End If
  End If

10 réponses

cs_cheikhtba Messages postés 26 Date d'inscription vendredi 31 décembre 2004 Statut Membre Dernière intervention 27 février 2007
22 janv. 2007 à 10:41
Bonjour sa marche les amis. Le probleme c'etait au niveau de la condition de if
rq1 = "Select* From utilisateur "
  
    rs1.Open rq1, cnx1, adOpenKeyset, adLockReadOnly
  
   Do While Not rs1.EOF
         If ((rs1.Fields("admin").Value var1) And (rs1.Fields("motdepasse").Value var2) And (temp = False)) Then
  
          temp = True
      
     Else
        rs1.MoveNext
        
     End If
   
   Loop
   
    If temp = True Then
       FIdentification.Hide
       FMenu.Show
      
     
    Else
        MsgBox "Votre Nom ou Mot de passe n'existe pas!"
  
    End If
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 janv. 2007 à 15:04
ah oui en effet ca marche pas !

Qu'est-ce qui ne marche pas ? Bah j'sai pas moi, tu n'as qu'à nous dire déjà ce que toi tu veux faire !
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
19 janv. 2007 à 15:14
Salut,
il y a la fonction Like, qui te permet de comparer ta zone de text à ton champ de la base, essaye cela défois que :
Exemple :
Dim Rep

Resume:
Rep = rs1.Fields("admin").Value LIKE var1 And rs1.Fields("motdepasse").Value Like var2

If Rep = False then
    MsgBox "Votre Nom ou Mot de passe n'existe pas!"
    If Rs1.Eof = False then Rs1.MoveNext
    Resume Retour
Else
'Si ok tu valide
End if

A+
Exploreur
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
19 janv. 2007 à 15:23
Tu peux aussi par la suite faire la comparaison si il y a plusieurs personnes du même nom, et ou du même mot de passe sans avoir le même nom
A+
Exploreur
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
marzouki_tn2003 Messages postés 29 Date d'inscription mercredi 29 septembre 2004 Statut Membre Dernière intervention 31 janvier 2007 1
19 janv. 2007 à 15:40
Normalement ca doit marcher si tu ajoute biensur une instance de ADODB.Connection , Set cnx1 = New ADODB.Connection
- on doit pas utiliser LIKE dans la selection car on cherche une valeur précise.
- dans l'ajout des utilisateur essaie d'empécher les doublons
s'il ya tjr un probléme vérifie ta base de données.
bonne chance
0
cs_cheikhtba Messages postés 26 Date d'inscription vendredi 31 décembre 2004 Statut Membre Dernière intervention 27 février 2007
19 janv. 2007 à 15:45
Salut Exploreur,
j'ai esayé ton exemple mais jusqu'à present sa ne marche pas on dirait que j'ai pas les valeurs au niveau de ma base ce qui est faut j'ai bien vérifié j'ai donné les valeurs mais sa retourne false
Rep = (rs1.Fields("admin").Value Like var1) And (rs1.Fields("motdepasse").Value Like var2)
0
cs_cheikhtba Messages postés 26 Date d'inscription vendredi 31 décembre 2004 Statut Membre Dernière intervention 27 février 2007
19 janv. 2007 à 15:51
Je souligne une chose j'ai remplit ma table directement sur sql Server je si sa peut poser probleme ou pas
0
marzouki_tn2003 Messages postés 29 Date d'inscription mercredi 29 septembre 2004 Statut Membre Dernière intervention 31 janvier 2007 1
19 janv. 2007 à 16:16
est ce que ton Recordset rs1 retourne des valeurs, c-à-d la boucle while teste des valeur retournée par rs1
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
19 janv. 2007 à 18:31
Re Cheikhtba,
En réponse à ton post de 15:51, là je ne sais pas, donc je ne préfère rien dire pour ne pas dire de bêtises.
A+
Exploreur
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
20 janv. 2007 à 11:08
oups ce n'est pas Resume: mais plutôt Retour:
Bon cela ne change rien au problème, juste la correction de syntaxe.
A+
Exploreur
0
Rejoignez-nous