Erreur '3061' openRecordset

el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 - 14 juil. 2004 à 15:50
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 - 15 juil. 2004 à 10:20
Slt, je suis en stage en allemagne, j'utilise donc access en allemand (soyez indulgents, si je trouve pas tout tout seul ^^)

j'ai repris le post concernant la création d'un accueil avec login + mdp.

cependant, il me met une erreur : (en deutsch évidemment )

"Laufzeitfehler '3061':

1 parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben."

Bon traduction :

Erreur 3061:
1 paramètre est attendu, mais trop peu de paramètres ont été fournis.

Voici mon code : merci "HFanny"

Dim db As Database
Dim rs As Recordset
Dim requete As String
requete "SELECT * FROM PASSWORD WHERE login '" & TextLogin & "' AND PASSWORD = '" & TextPassword & "'"
Set db = CurrentDb()
Set rs = db.openRecordset(requete, dbOpenDynaset)

If rs.RecordCount <> 1 Then
MsgBox ("Authentification invalide, veuillez recommencer")
Else
'tes instructions si l'authentification s'est bien déroulée
End If

il me couille a la ligne en gras.
Qu'est-ce qu'il manque comme paramètre ?

Merci
Sylvain

7 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
14 juil. 2004 à 17:33
Salut,

Si ta table "PASSWORD" et tes champs "login" et "PASSWORD" existent bien et qu'il sont en texte, je ne vois pas où est le prob.

Cordialement

CanisLupus
0
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
14 juil. 2004 à 20:58
Yop, bien vu, dans ma table PASSWORD, c'était pas "login", mais "nom" mon champ ^^

Cependant, cela ne résout pas mon problème, il me met ca maintenant :

erreur d'éxécution 13 :

incompatibilité de type.

à la ligne suivante :

Set rs = db.OpenRecordset(requete, dbOpenDynaset)

toujours ce "openrecordset" qué pas écrit correctement :-(

lorsque l'erreur apparait ma requete vaut :
requete <gras>"SELECT * FROM PASSWORD WHERE Login 'DEVAUX' AND Password = ''"</gras>

quand je regarde la syntaxe d'un ope[nRecordset il faut :
(name as string, [Type],[Options],[LockEdit]) as recordset

Je suis perdu !!!
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
14 juil. 2004 à 21:49
Bon, je suppose que tu as changé le nom du champ "nom" par "login" sinon tu aurais la même erreur qu'avant.
Ton Set rs = db.OpenRecordset(requete, dbOpenDynaset)
est correct.
A part ça, l'erreur 13 c type incompatible, donc l'un des 2 champs ne doit pas être en texte (puisque tu compares avec des variables texte) ou alors, ton champ "PASSWORD" est à NULL dans un des enregs.

Cordialement

CanisLupus
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
15 juil. 2004 à 08:51
Ca plante si tu enleve le champs PAssword de ta Requéte ???
requete "SELECT * FROM PASSWORD WHERE Login 'DEVAUX'"

It@li@
0

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

Posez votre question
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
15 juil. 2004 à 10:10
Ok, déjà merci de vos réponses.

Italia, quand je supp
AND PASSWORD = '" & TextPassword & "'
ca me fait la même erreur a savoir Erreur 13. (même ligne)

CanisLupus, je pense que tu as raison, il faut plutôt chercher du côté de ce que je lui envoie comme paramètres puisqu'il met type incompatible.

Pour vous aider voici mes tables, avec champs et relations :

EMPLOYE : table                PASSWORD : table

ID <----------------------------> ID
Nom <-------------------------> Login
Prenom                                Password
Fonction
Telephone
Mobile
Fax


Et voici ce qu'il y a dans ma table PASSWORD :
  |    ID      |   Login    |  Password  |
+|           1|DEVAUX   |aaa              |


Si je clique sur +, j'ai mon autre table qui s'ouvre en cascade du fait des relations que j'ai établie entre ID<-->ID et Login<-->Nom avec les champs Prenom, Fonction ,Telephone, Mobile et Fax qui apparaissent.

Maintenant que je tapes (dans ma fenetre acceil, enfin mon formulaire accueil) aaa, ou izuhgizfh ou rien, il me fait erreur13.

Voilà, j'espère que ca vous éclaire un peu ?
0
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
15 juil. 2004 à 10:15
PS : pour CanisLupus :

voici les types des champs de mes tables :

EMPLOYE :
ID -> Autowert (en francais, je sais pas, ca doit etre auto qqch)
bref c ma clé primaire.
Nom, Prenom, Fonction, Telephone, Mobile, Fax -> texte

PASSWORD :
ID -> Autowert, c ma clé primaire.
Login, Password -> TEXTE

Donc ca vient pas qu'un de mes champs est pas en texte. :-(
0
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
15 juil. 2004 à 10:20
YESSSS !!!!

ca marche !!!!!!!! ^^

en fait c'est que avec tous les essais que je fais, je copie colle des bouts de code que je trouve sur le forum, mais j'avais juste oublié de rajouter
DAO.
devant
Dim db As DAO.Database
et
Dim rs As DAO.Recordset
.
car je crois que cela n'y est pas dans le post original de "HFanny"...

Bon vous inquiétez pas , vous aller encore entendre parler de moi, j'en suis à peine qu'à l'ACCUEIL ^^
0
Rejoignez-nous