[Résolu] Récup. identifiant d'une valeur sélectionnée

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Ayana
Membre OOrganisé
Membre OOrganisé
Messages : 71
Inscription : 27 avr. 2006 08:25

[Résolu] Récup. identifiant d'une valeur sélectionnée

Message par Ayana »

Bonjour à tous,


Explication du petit problème :

J'ai une table "soussysteme":
soussysteme (id_sssysteme, nom_sssysteme)

id_sssysteme est la clé primaire bien entendu.

J'ai d'un autre côté une zone de liste, que j'ai remplie grâce à une macro qui me fait une requête.
Dans ma liste je me retrouve à avoir les "nom_sssysteme".

Mais j'ai besoin de récupérer les "id_sssysteme" !!

J'ai donc fait une autre macro qui me récupère normalement le "id_sssysteme" en fonction de la valeur sélectionnée dans la liste.


J'ai fait ce code.
Problème : il est incapable de me retrouver le numéro "id_sssysteme".

Code : Tout sélectionner

Req2="SELECT " & chr(34) & "id_sssysteme" & chr(34) & " FROM " & chr(34) & "soussysteme" & chr(34) & " WHERE " & chr(34) & "nom_sssysteme" & chr(34) & "=" & chr(39) & TextListe2 & chr(39) 
Enreg2= SQL.ExecuteQuery(Req2)
ColID2 = Enreg2.FindColumn("id_sssysteme")
resu2 = Enreg2.GetInt(ColID2)
TextListe2 est le mot sélectionné dans la zone de liste. (Et le programme récupère bien le bon mot !!)
Tout ce qui concerne les déclarations est correct.
J'ai mis resu2 en Integer.
Il me met une erreur sur la dernière ligne (avec le resu2).


Please help me.


Merci. :roll:
Dernière modification par Ayana le 06 juin 2006 14:01, modifié 1 fois.
--= Ayana =--

OOo 2.0.1
XP Pro 2002 SP2
Dante
Membre hOOnoraire
Membre hOOnoraire
Messages : 171
Inscription : 19 avr. 2006 09:00

Message par Dante »

Il y a ce petit fil sympa à lire :
http://user.services.openoffice.org/fr/ ... c1454.html

Et notamment le 2e message pour contrôler ta requête
OO.o 2.3.1 sous Windows XP Pro SP2
Avatar de l’utilisateur
cris59
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 482
Inscription : 20 mars 2006 15:15
Localisation : Paris

Message par cris59 »

Quelle erreur ? Le message d'erreur renseigne beaucoup sur le type d'erreur !

Code : Tout sélectionner

resu2 = Enreg2.Columns.getByName("id_sssysteme").Int
j'aurais fait la récupération du résultat de la requête ainsi

cris59
WinXP PRO SP2 avec OOo2.2 & Vista avec OOo2.3.1
& Debian avec OOo2.2

http://www.cpserv.net/
Ayana
Membre OOrganisé
Membre OOrganisé
Messages : 71
Inscription : 27 avr. 2006 08:25

Message par Ayana »

Je connais ce fil, mais j'ai beau chercher, je ne vois pas où est l'erreur :(
--= Ayana =--

OOo 2.0.1
XP Pro 2002 SP2
Ayana
Membre OOrganisé
Membre OOrganisé
Messages : 71
Inscription : 27 avr. 2006 08:25

Message par Ayana »

cris59 a écrit :Quelle erreur ? Le message d'erreur renseigne beaucoup sur le type d'erreur !

Code : Tout sélectionner

resu2 = Enreg2.Columns.getByName("id_sssysteme").Int
j'aurais fait la récupération du résultat de la requête ainsi

cris59
Il me met "SQLException : No data is available"

Avec ta version aussi, même erreur.
--= Ayana =--

OOo 2.0.1
XP Pro 2002 SP2
Avatar de l’utilisateur
cris59
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 482
Inscription : 20 mars 2006 15:15
Localisation : Paris

Message par cris59 »

Il te dit qu'il n'y a pas de données disponibles

Code : Tout sélectionner

Enreg2= SQL.ExecuteQuery(Req2) 
if Enreg2.next then
    resu2 = Enreg2.Columns.getByName("id_sssysteme").Int
end if
.next le place sur le 1er enregistrement retourné

cris59
WinXP PRO SP2 avec OOo2.2 & Vista avec OOo2.3.1
& Debian avec OOo2.2

http://www.cpserv.net/
Ayana
Membre OOrganisé
Membre OOrganisé
Messages : 71
Inscription : 27 avr. 2006 08:25

Message par Ayana »

Merci infiniment cris59 :D

En effet ça marche.

Le pire, c'est que je l'utilise pour mes requêtes qui remplissent mes zones de liste.


Mais je croyais que c'était uniquement pour retourner plusieurs valeurs, que ça remplaçait un tableau.


J'en apprends tous les jours avec vous tous.
Vraiment, au début la prise en main est difficile, mais en fin de compte, je le trouve beaucoup plus performant que Access et même que MS Office tout court.


Encore merci.

:D :D
--= Ayana =--

OOo 2.0.1
XP Pro 2002 SP2