Stocker le résultat d'une requête SQL dans une variable en VB6 [Résolu]

Signaler
Messages postés
15
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
24 mai 2007
-
Messages postés
15
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
24 mai 2007
-
Bonjour à tous.

Après plusieurs recherches sur Google, mon ami de toujours et sur ce même
forum, j'ai vu que le sujet avait déjà été traité plusieurs fois. Mais je n'ais
pas trouver comment faire pour stocker le résultat d'une requête SQL dans une
variable VB (ou plutôt, je n'ai  pas été assez doué).

DIM i As Integer

DIM numuser As Integer


rs_sql = "INSERT INTO utilisateur (nom, prenom, datenaiss, mail, ville,
cp, rue, type) VALUES ('" & chps(0) & "', '" &
chps(1) & "', " & chps(2) & ", '" & chps(3)
& "', '" & chps(4) & "', " & chps(5) &
", '" & chps(6) & "', " & chps(7) &
");"

connex.Execute rs_sql


rs_sql = "select iduser from utilisateur where nom='" & chps(0)
& "' and prenom='" & chps(1) & "';"

connex.Execute rs_sql

La je voudrais stocker la valeur récupérer de iduser (de type Integer) dans ma variable  numuser, pour pouvoir l'utiliser dans
une requête suivante.


J'ai essayer;

numuser = rs_sql!iduser

mais il me dit qu'un objet est nécessaire, alors j'ai essayé;


rs.open (rs_sql), execute

numuser = rs!iduser
mais ici, même erreur.


Donc je fais appel à vous, car je souhaiterais une méthode pour stocker la valeur de
iduser dans ma variable numuser, avec s'il vous plait des explication sur son
fonctionnement, pour que je puisse la comprendre et l'utiliser à nouveau plus
tard.


Je vous remercie d'avance de votre aide et vous souhaite une bonne journée.



Amicalement Ti_flo

6 réponses

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Oups, désolé...
Il faut changer rs_Sql par Rs tout court.
Rs étant ton objet Recordset et rs_Sql étant seulement la chaîne de requête

Donc,
rs_sql = "select iduser from utilisateur where nom='" & chps(0) & "' and prenom='" & chps(1) & "';"
Rs.Open  rs_sql, connex   'ici tu peux mettre différentes options
If Rs.Recordcount > 0 then
NumUser = Rs!IdUser
Else
Msgbox "Aucun enregistrement trouvé"
end if

MPi
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,

En requête je pige rien...Par contre le résultat de ta requête ce trouve dans rs_sql, je fairai un truc du genre :
numuser = rs_sql
A savoir qi ta requête te renvois bien un integer..

A+
Exploreur
Messages postés
15
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
24 mai 2007

Bonjour Exploreur.
Malheureusement j'ai déjà essayé cela, mais la valeur ainsi obtenue est toujours de 0.
La requête fonctionne bien je l'ai testé grâce à PHPMyAdmin et elle me retourne une seule et unique valeur, valeur qui est en entier donc en integer.
Merci.

Amicalement Ti_flo
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Essaie ceci

Après ta requête:
If Rs_Sql.Recordcount > 0 then
NumUser = Rs_Sql!IdUser
Else
Msgbox "Aucun enregistrement trouvé"
end if

MPi
Messages postés
15
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
24 mai 2007

Bonjour Mpi, désolé pour le retard je n'était pas chez moi. J'ai essayé ta méthode mais lors de l'execution il y'a "un objet est requis". Le problème c'est que je ne vois pas du tout de quel objet il s'agit, une déclaration? :(
Je crois savoir qu'il faut fouiller le recordset mais je ne sais pas comment m'y prendre.
Messages postés
15
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
24 mai 2007

Merci beaucoup pour ton aide MPI. Ta méthode fonctionne, je peux donc avancer dans mon projet. Encore merci pour ta nouvelle aide ;)

Bonne journée.

Amicalement Ti_flo