Erreur argument invalide

[Résolu]
Signaler
Messages postés
85
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
2 septembre 2016
-
Messages postés
85
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
2 septembre 2016
-
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

Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
70
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
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
70
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
Messages postés
85
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
2 septembre 2016

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?.
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
70
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
Messages postés
85
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
2 septembre 2016

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")
Messages postés
85
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
2 septembre 2016

Salut
ça marche bien ,le problème est que mon code_com était numérique. Merci tout le monde et particulièrement a renfield.