Erreur argument invalide

Résolu
mahamourta Messages postés 85 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 2 septembre 2016 - 24 mars 2010 à 20:56
mahamourta Messages postés 85 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 2 septembre 2016 - 28 mars 2010 à 19:08
Salut

Je suis un debutant en vb , mon code doit me permettre a me logger sur ma page utilisateur
avec un login et un mot e passe qui se trouve dans ma table utilisateur .Lorsque j'execute mon code j'ai une erreur du genre argument non valide
Set db = CurrentDb
DoCmd.SetWarnings False
req0 = "select count (*) from utilisateur where login='" & Texte16 & "' and password='" & Texte18 & "' ;"
Set restr = db.OpenRecordset(req0)
If restr = "1" Then
MsgBox ("Mot de passe correcte")
Else
MsgBox ("Mot de passe ou Login invalide")

merci d'avance pour votre aide

6 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
26 mars 2010 à 09:30
ton code est, je pense numérique....

le fait de l'avoir délimité avec des '
fait qu'il est considéré comme champ texte

faire donc :

req1 "select code_prod from commande where code_com" & Modifiable15

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
24 mars 2010 à 22:16
content de voir que tu ne craigne pas les injections SQL ^^

restr est un recordset...

on accede pas a ses champs ainsi.

faire:

If restr.fields(0) = 1 then

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
mahamourta Messages postés 85 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 2 septembre 2016
24 mars 2010 à 23:58
Merci pour ta reponse renfied

J'ai essaye et c'est ok ça passe bien.Je comprends que fields sert a acceder au champ d'un recordset mais pourquoi fields(0) et non fields(1)par exemple?.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
25 mars 2010 à 07:05
parce que tu n'as qu'un champ et que la numérotation commence à 0, bien souvent, en informatique ^^


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0

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

Posez votre question
mahamourta Messages postés 85 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 2 septembre 2016
26 mars 2010 à 07:12
Merci pour la rapidité de vos réponses
j'ai encore une autre préoccupation:

lorsque j'exécute mon code j'ai une erreur du genre:
erreur 3464 type de données incompatible dans l'expression du critère.
Mon code est le suivant:
Set db = CurrentDb
DoCmd.SetWarnings False
req1 "select code_prod from commande where code_com'" & Modifiable15 & "';"
Set res = db.OpenRecordset(req1)
re = res.Fields(0)
MsgBox ("re")
0
mahamourta Messages postés 85 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 2 septembre 2016
28 mars 2010 à 19:08
Salut
ça marche bien ,le problème est que mon code_com était numérique. Merci tout le monde et particulièrement a renfield.
0