Adodc.EOF [Résolu]

tastastoussa 74 Messages postés lundi 8 août 2011Date d'inscription 11 février 2013 Dernière intervention - 16 août 2011 à 11:29 - Dernière réponse : cs_ghuysmans99 3983 Messages postés jeudi 14 juillet 2005Date d'inscription 30 juin 2013 Dernière intervention
- 16 août 2011 à 20:13
salut tout le monde,je suis entrain de créer un formulaire login/mot de passe dont le contrôle de saisie des champs est basée sur une requête Select.
alors comme je suis debutante j'ai pas mis adodc.recordset.eof=false comme condition au debut,mais aprés je l'ai ajouté,malheureusement le programme n'entre pas dans la structure conditionnelle,ce qui montre que mon recordset.eof=true,ce qui est pas normal.
quelqu'un peut m'aider s'il vous plait?
Afficher la suite 

Votre réponse

17 réponses

Meilleure réponse
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 16 août 2011 à 12:43
3
Merci
Salut

ADODC possède une interface graphique (que ADODB n'a pas) et cette interface est déjà connectée à une base et une table.
Si ce n'est pas fait, crée cette connexion dans les propriétés de l'objet :
- ConnectionString : ça ressemble à ça :
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\ma_base.MDB;Persist Security Info=False
- RecordSource : De type 1 (adCmdText) si tu dois écrire une requète de recherche et dans RecordSource, tu saisies ta requète.

Dans l'exemple que tu nous donnes, ta requète a une drôle de tête :
select * from acces where login="text1.text"
Que représente "text1.text" ?
Je suppose une TextBox de ta forme.
Dans ce cas, tu ne pourras pas fournir au RecordSource une syntaxe incluant le nom d'un objet de ton application.
Il te faut recréer ta requète au moment où cliqueras sur ton bouton de recherche en remplaçant "text1.text" par le contenu de ta TextBox :
monAdoDC.RecordSource "select * from acces where login " & text1.text

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de cs_Jack
Meilleure réponse
4u4me4us 781 Messages postés lundi 22 janvier 2007Date d'inscription 30 octobre 2013 Dernière intervention - 16 août 2011 à 13:02
3
Merci
Tante de mette la ligne suivate :
Adodc1.RecordSource "select * from acces where login '" & text1.text & "'"

Avant la ligne suivante :
Adodc1.Refresh

Merci 4u4me4us 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de 4u4me4us
4u4me4us 781 Messages postés lundi 22 janvier 2007Date d'inscription 30 octobre 2013 Dernière intervention - 16 août 2011 à 11:34
0
Merci
adodc.eof
Commenter la réponse de 4u4me4us
4u4me4us 781 Messages postés lundi 22 janvier 2007Date d'inscription 30 octobre 2013 Dernière intervention - 16 août 2011 à 11:35
0
Merci
Bien sur adodc est déja de type recodrdset
Commenter la réponse de 4u4me4us
tastastoussa 74 Messages postés lundi 8 août 2011Date d'inscription 11 février 2013 Dernière intervention - 16 août 2011 à 12:01
0
Merci
j'ai pas compris votre remarque,vous confirmez ou bien quoi?
Commenter la réponse de tastastoussa
4u4me4us 781 Messages postés lundi 22 janvier 2007Date d'inscription 30 octobre 2013 Dernière intervention - 16 août 2011 à 12:10
0
Merci
Oui! Sorry j'ai lu de traver
Tu dis "je l'ai ajouté,malheureusement le programme n'entre pas dans la structure conditionnelle,ce qui montre que mon recordset.eof=true,ce qui est pas normal."

1) Il faut que tu poste le requête pour que l'on puisse l'examiner.

2)Dis nous le resultat que tu souhaite avoir

3)Sois sur que ta table aye les valeurs que tu souhaites
Commenter la réponse de 4u4me4us
tastastoussa 74 Messages postés lundi 8 août 2011Date d'inscription 11 février 2013 Dernière intervention - 16 août 2011 à 12:21
0
Merci
alors ma requête est la suivante
select * from acces where login="text1.text"

j'ai mis cette requête dansla configuration du adodc
ensuite j'ai mentionné adodc comme datasource du champ mot de passe
puis j'ai passé au code.
en fait je veux verifié que le login saisie exste dans ma table acces et si c bon je passe au second champ,celui du mot de passe pour verifié que ça correspond exactement au login deja accepté.et enfin un champ de confirmation de mot de passe.
alors dans ma structure conitionnelle j'ai commencé par le cas ou les champs son vides,ça va il me renvoie le message que je veux,mais aprés j'ai ecris
if (adodc.recordset.eof=false )then ..........
et là mon probléme qu'il n'entre pas dans cette structure.
j'espere que j'ai bien expliqué
Commenter la réponse de tastastoussa
4u4me4us 781 Messages postés lundi 22 janvier 2007Date d'inscription 30 octobre 2013 Dernière intervention - 16 août 2011 à 12:29
0
Merci
Ok je vois deux erreurs
Faux :select * from acces where login="text1.text" 

Juste :select * from acces where login='"& text1.text &"'" 

Faux:if (adodc.recordset.eof=false )then 

Juse : if not adodc.efo then 
Commenter la réponse de 4u4me4us
tastastoussa 74 Messages postés lundi 8 août 2011Date d'inscription 11 février 2013 Dernière intervention - 16 août 2011 à 12:36
0
Merci
merci pour la reponse,mais
pour la premiére ceci ne correspond pas en sql (comme je l'ai dit cette requête est ecrite dans les propriétes de adodc ou j'ai chooisi le SQL)
pour la deuxiéme je vais la changer,mais entre nous je pense que y a pas de difference.
pouvez vous me proposez une demarche pour créer mon formulaire,plutot les tests que je dois faire ,comment je peux les coder?suis_je sur le bon chemin?
Commenter la réponse de tastastoussa
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 16 août 2011 à 12:44
0
Merci
Oups
4u4me4us à raison, les textes doivent être encadrés de ' :
monAdoDC.RecordSource "select * from acces where login '" & text1.text & "'"
Commenter la réponse de cs_Jack
4u4me4us 781 Messages postés lundi 22 janvier 2007Date d'inscription 30 octobre 2013 Dernière intervention - 16 août 2011 à 12:45
0
Merci
Tu dis "pour la premiére ceci ne correspond pas en sql (comme je l'ai dit cette requête est ecrite dans les propriétes de adodc ou j'ai chooisi le SQL) "

il faut que tu postes le code que tu as acutellement. Car la c pas du tout claire.
Commenter la réponse de 4u4me4us
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 16 août 2011 à 12:47
0
Merci
Il faudra surement faire un
monAdoDC.Refresh
ensuite pour lui demander d'appliquer les modifs
Commenter la réponse de cs_Jack
tastastoussa 74 Messages postés lundi 8 août 2011Date d'inscription 11 février 2013 Dernière intervention - 16 août 2011 à 12:48
0
Merci
merci infiniment,j'ai deja fait tous ça sauf la derniére ligne,alors ou est ce que je l'ecris exactemetn car si je tape
Adodc.RecordSource "select * from acces where login '" & text1.text"'
il m'affiche un message d'erreur de syntaxe
Commenter la réponse de tastastoussa
tastastoussa 74 Messages postés lundi 8 août 2011Date d'inscription 11 février 2013 Dernière intervention - 16 août 2011 à 12:53
0
Merci
voilà mon code:
Private Sub C1_Click()
If (Text1.Text "" Or Text2.Text "" Or Text3.Text = "") Then
MsgBox "login box or password box is empty,please fill to continue", vbInformation, ""
Text1.Text = ""
Text2.Text = ""
Else
Adodc1.Refresh
If (Not Adodc1.Recordset.EOF) Then
If ((Text2.Text Adodc1.Recordset.Fields("Mot de passe")) And (Text3.Text Text2.Text)) Then
MsgBox "Login vrai"
frmmenu.Show
frmlogin.Visible = False
ElseIf (Text2.Text = Adodc1.Recordset.Fields("Mot de passe")) Then
MsgBox ("veuillez confirmer votre mot de passe")
Text3.Text = " "
Text3.SetFocus
Else
MsgBox ("wrong password")
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text1.SetFocus
End If
End If
End If
End Sub


merci bien de m'aider car vraiment je me sens perdue
Commenter la réponse de tastastoussa
tastastoussa 74 Messages postés lundi 8 août 2011Date d'inscription 11 février 2013 Dernière intervention - 16 août 2011 à 13:06
0
Merci
vous avez tout à fait raison,j'ai oublié de la deplacer,merci beaucoup,je vais verifier
Commenter la réponse de tastastoussa
tastastoussa 74 Messages postés lundi 8 août 2011Date d'inscription 11 février 2013 Dernière intervention - 16 août 2011 à 13:12
0
Merci
ça marche bien.merci beaucoup pour tous ceux qui m'ont aidé.
MERCI INFINIMENT
Commenter la réponse de tastastoussa
cs_ghuysmans99 3983 Messages postés jeudi 14 juillet 2005Date d'inscription 30 juin 2013 Dernière intervention - 16 août 2011 à 20:13
0
Merci
Attention aux injections SQL, il faut doubler systématiquement les simples guillemets (via Replace$)

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Commenter la réponse de cs_ghuysmans99

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.