VBA:Un code qui ne marche pas!
Fermé
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
-
21 févr. 2006 à 13:32
sergeszebe Messages postés 180 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 8 octobre 2009 - 23 févr. 2006 à 11:31
sergeszebe Messages postés 180 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 8 octobre 2009 - 23 févr. 2006 à 11:31
A voir également:
- VBA:Un code qui ne marche pas!
- Erreur 1004 vba ✓ - Forum VB / VBA
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Vba dernière colonne non vide ✓ - Forum VB / VBA
- Récupérer valeur cellule vba ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
24 réponses
Utilisateur anonyme
21 févr. 2006 à 14:33
21 févr. 2006 à 14:33
Bonjour,
Vérifie si tu as des références manquantes, si oui décoches les. Vérifies que la référence m$ dao est bien cochée et mets la le + haut possible...
Vérifie si tu as des références manquantes, si oui décoches les. Vérifies que la référence m$ dao est bien cochée et mets la le + haut possible...
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
2
21 févr. 2006 à 14:48
21 févr. 2006 à 14:48
je l'ai fait mais ça n'a rien changé j'ai coché DAO 3.6 onbjet library et j'ai mie le plus haut possible.
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
2
21 févr. 2006 à 14:56
21 févr. 2006 à 14:56
non il me met erreur 91
veriable objet ou variable de bloc with non definie
au niveau de set rs=bd open recorset
veriable objet ou variable de bloc with non definie
au niveau de set rs=bd open recorset
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
21 févr. 2006 à 15:05
21 févr. 2006 à 15:05
Bon, il faut mettre dao aussi sur ton rs je pense.
Donc : Dim rs As dao.Recordset
Donc : Dim rs As dao.Recordset
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
2
21 févr. 2006 à 15:28
21 févr. 2006 à 15:28
eh! oui je l'ai oublié mais
bon ça ne marche toujours pas ça met l'erreur 91 que j'ai enoncé au dessus.c'est vraiment chiant
bon ça ne marche toujours pas ça met l'erreur 91 que j'ai enoncé au dessus.c'est vraiment chiant
Utilisateur anonyme
21 févr. 2006 à 15:30
21 févr. 2006 à 15:30
tu peux remettre ton code modifié que l'on y voit plus clair STP ?
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
2
21 févr. 2006 à 15:31
21 févr. 2006 à 15:31
Private Sub connexion_Click()
Dim Sql As String
Dim rs As DAO.Recordset
Static i As Byte
Dim bd As DAO.Database
Set db = CurrentDb
Set rs = bd.OpenRecordset(Sql)
Sql = "SELECT login,[mot_de_passe] FROM T_User WHERE login = '" & Me.txt_user & "' AND [mot_de_passe]='" & Me.txt_pass & "';"
If Not rs.EOF Then
DoCmd.OpenForm "FM_Evaluation", acNormal, , , , acWindowNormal
DoCmd.Close acForm, "F_CONNEXION"
Else
MsgBox "(Identifiant, Mot de Passe) incorrect ", vbInformation, "Connexion"
i = i + 1
End If
If i = 3 Then
MsgBox "Vous avez dépassé le nombre de tentatives autorisés", vbCritical
DoCmd.Quit
End If
Me.Requery
End Sub
Dim Sql As String
Dim rs As DAO.Recordset
Static i As Byte
Dim bd As DAO.Database
Set db = CurrentDb
Set rs = bd.OpenRecordset(Sql)
Sql = "SELECT login,[mot_de_passe] FROM T_User WHERE login = '" & Me.txt_user & "' AND [mot_de_passe]='" & Me.txt_pass & "';"
If Not rs.EOF Then
DoCmd.OpenForm "FM_Evaluation", acNormal, , , , acWindowNormal
DoCmd.Close acForm, "F_CONNEXION"
Else
MsgBox "(Identifiant, Mot de Passe) incorrect ", vbInformation, "Connexion"
i = i + 1
End If
If i = 3 Then
MsgBox "Vous avez dépassé le nombre de tentatives autorisés", vbCritical
DoCmd.Quit
End If
Me.Requery
End Sub
Utilisateur anonyme
21 févr. 2006 à 15:37
21 févr. 2006 à 15:37
Re,
Je pense que l'on va y arriver :O)
Tu mets :
Set rs = bd.OpenRecordset(Sql)
et ensuite tu mets sql="....."
Ca ne peut pas aller, faut lui dire avant ce que contient ton sql.
Je pense que l'on va y arriver :O)
Tu mets :
Set rs = bd.OpenRecordset(Sql)
et ensuite tu mets sql="....."
Ca ne peut pas aller, faut lui dire avant ce que contient ton sql.
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
2
21 févr. 2006 à 15:43
21 févr. 2006 à 15:43
bah! c ce que j'ai fait avant mais
teebo m'a dit que c'est en l'envers il faut mettre le set avant le sql.
teebo m'a dit que c'est en l'envers il faut mettre le set avant le sql.
Utilisateur anonyme
21 févr. 2006 à 15:46
21 févr. 2006 à 15:46
Si tu lui dit Set rs = bd.OpenRecordset(Sql) , il contient quoi le rs ?
Que neni, nada, il ne connait pas sql, il sait juste que c'est une chaine de caractère, plus précisemment que tu l'as déclaré en tant que telle.
Alors ça donne quoi ?
Que neni, nada, il ne connait pas sql, il sait juste que c'est une chaine de caractère, plus précisemment que tu l'as déclaré en tant que telle.
Alors ça donne quoi ?
Utilisateur anonyme
21 févr. 2006 à 15:57
21 févr. 2006 à 15:57
Non, Teebo t'as dit ce que je t'ai dit ici : http://www.commentcamarche.net/forum/affich-2108400-vba-formulaire-securise#5
Alors ca tourne ?
Alors ca tourne ?
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
2
21 févr. 2006 à 16:12
21 févr. 2006 à 16:12
ça tourne pas les gard!
franchement je comprend plus rien une journée entierre! je suis bete ou c'est difficile à faire
franchement je comprend plus rien une journée entierre! je suis bete ou c'est difficile à faire
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
2
21 févr. 2006 à 16:37
21 févr. 2006 à 16:37
penses-tu qu'il faut deja egaler les valeur de login et mot de passe dans la requette?
on peut simplement dire
sql=select login,mot_de_passe from T_User!
et apres on dira
if not EOF T_User
move first
if
txtlogin=login and txtmp=mp
alors open
sinon
msg erreure
i=i+1
movenext.......
pour i=3 quit
on peut simplement dire
sql=select login,mot_de_passe from T_User!
et apres on dira
if not EOF T_User
move first
if
txtlogin=login and txtmp=mp
alors open
sinon
msg erreure
i=i+1
movenext.......
pour i=3 quit
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
2
21 févr. 2006 à 16:46
21 févr. 2006 à 16:46
oui!
erreur 91 variable objet ou variable de bloc with non definie:
Private Sub connexion_Click()
Dim Sql As String
Static i As Byte
Dim bd As Database
Dim rs As Recordset
Set db = CurrentDb
Sql = "SELECT login,[mot_de_passe] FROM T_User WHERE login = '" & Me.txt_user & "' AND [mot_de_passe]='" & Me.txt_pass & "';"
Set rs = bd.OpenRecordset(Sql)----> ICI
If Not rs.EOF Then
DoCmd.OpenForm "FM_Evaluation", acNormal, , , , acWindowNormal
DoCmd.Close acForm, "F_CONNEXION"
Else
MsgBox "(Identifiant, Mot de Passe) incorrect ", vbInformation, "Connexion"
i = i + 1
End If
If i = 3 Then
MsgBox "Vous avez dépassé le nombre de tentatives autorisés", vbCritical
DoCmd.Quit
End If
Me.Requery
End Sub
erreur 91 variable objet ou variable de bloc with non definie:
Private Sub connexion_Click()
Dim Sql As String
Static i As Byte
Dim bd As Database
Dim rs As Recordset
Set db = CurrentDb
Sql = "SELECT login,[mot_de_passe] FROM T_User WHERE login = '" & Me.txt_user & "' AND [mot_de_passe]='" & Me.txt_pass & "';"
Set rs = bd.OpenRecordset(Sql)----> ICI
If Not rs.EOF Then
DoCmd.OpenForm "FM_Evaluation", acNormal, , , , acWindowNormal
DoCmd.Close acForm, "F_CONNEXION"
Else
MsgBox "(Identifiant, Mot de Passe) incorrect ", vbInformation, "Connexion"
i = i + 1
End If
If i = 3 Then
MsgBox "Vous avez dépassé le nombre de tentatives autorisés", vbCritical
DoCmd.Quit
End If
Me.Requery
End Sub
Bon on va essayé ça, tu fais un copié collé du code ci-dessous, et testes :
Private Sub connexion_Click()
Dim Sql As String
Static i As Byte
Dim bd As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Sql = "SELECT login,[mot_de_passe] FROM T_User ;"
Set rs = bd.OpenRecordset(Sql)
dim nb as integer
nb=rs.recordcount
msgbox nb
end sub()
Ca affiche quoi ?
Private Sub connexion_Click()
Dim Sql As String
Static i As Byte
Dim bd As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Sql = "SELECT login,[mot_de_passe] FROM T_User ;"
Set rs = bd.OpenRecordset(Sql)
dim nb as integer
nb=rs.recordcount
msgbox nb
end sub()
Ca affiche quoi ?
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 793
21 févr. 2006 à 17:02
21 févr. 2006 à 17:02
J'ai jamais dit de mettre dans ce sens!
Et ensuite tu comprendrais peut être un peu mieux si tu n'avais pas posé deux fois la même question!
Et ensuite tu comprendrais peut être un peu mieux si tu n'avais pas posé deux fois la même question!
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
2
21 févr. 2006 à 17:16
21 févr. 2006 à 17:16
j'ai fais le copier collé ça affiche :
l'erreur 91 :variable objet ou variable de bloc with non definie
: au meme endroit Set rs = bd.OpenRecordset(Sql)
l'erreur 91 :variable objet ou variable de bloc with non definie
: au meme endroit Set rs = bd.OpenRecordset(Sql)
Utilisateur anonyme
21 févr. 2006 à 17:21
21 févr. 2006 à 17:21
Bon, je comprends pas là :-(
Change la ligne qui génère l'erreur par :
Set rs = bd.OpenRecordset("SELECT login,[mot_de_passe] FROM T_User ",dbOpenDynaset, dbReadOnly)
Change la ligne qui génère l'erreur par :
Set rs = bd.OpenRecordset("SELECT login,[mot_de_passe] FROM T_User ",dbOpenDynaset, dbReadOnly)
sergeszebe
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
2
22 févr. 2006 à 11:26
22 févr. 2006 à 11:26
salut! j'ai remplacer le code par la ligne que tu ma donné ca ne marche pas.
il doit bien y avoir une solution?
est-ceque t'a du temps de crere toi ta table et meme 3 membre et leur mot de passe et faire le test sur 2 formulaire? ça marche?
merci
il doit bien y avoir une solution?
est-ceque t'a du temps de crere toi ta table et meme 3 membre et leur mot de passe et faire le test sur 2 formulaire? ça marche?
merci
Utilisateur anonyme
21 févr. 2006 à 17:37
21 févr. 2006 à 17:37
Putain, j'ai de la peau de sosse devant les yeux !!!!!!!
Je t'ai dis de mettre :
Dim bd As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Corriges celui que tu veux, mais les 2 doivent être pareil...
Je t'ai dis de mettre :
Dim bd As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Corriges celui que tu veux, mais les 2 doivent être pareil...