[Résolu][Base] Récupérer l'identifiant unique dans une zone de liste

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 !
superpat
Fraîchement OOthentifié
Messages : 9
Inscription : 25 janv. 2016 09:42

[Résolu][Base] Récupérer l'identifiant unique dans une zone de liste

Message par superpat »

Bonjour à tous
Dans la base de données ci-jointe, j'ai un formulaire qui me servira à gérer ma table PROPRIETAIRES
J'ai ajouté à ce formulaire une Listbox en lien avec une requète qui comprend l'ID, et la concaténation du NOM/PRENOM
Lors du choix d'un propriétaire dans la listbox, j'ai un MsgBox qui m'affiche effectivement le Nom et Prenom après exécution de la macro suivante:

Code : Tout sélectionner

Sub AllerAuProprietaire(oEv as object)
    Dim oDoc As Object
    Dim oForm As Object
    Dim oListbox As Object
    Dim valeur as string
    Dim Choix as integer
    
    oDoc = ThisComponent
    oForm = oEv.Source.Model.Parent
    'oForm = oDoc.DrawPage.Forms(0) 

    oListbox = oForm.getByName("LB_RECHERCHE")

    valeur = oListbox.CurrentValue
    MsgBox valeur

End Sub
Mais ce que j'aimerais c'est récupérer l'ID (clé) pour pouvoir raffraichir mon formulaire avec le nom choisi dans la listbox
Merci pour votre aide
Patrick
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 23 févr. 2026 09:34, modifié 1 fois.
OPENOFFICE 4.1.16 - windows 11
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 10046
Inscription : 28 août 2010 08:45

Re: [Base] Récupérer un champ dans une listbox

Message par micmac »

Bonjour,

Ajout de la balise [Base] comme c'est demandé dans les règles de cette section (Bandeau rouge en haut de page).
Balisage du code pour faciliter la lecture et la présentation.
À savoir pour la prochaine fois.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26177
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Récupérer un champ dans une listbox

Message par Dude »

Salut,

Il faut un sous formulaire relié à l'ID si tu veux afficher les enregistrements liés à ta zone de liste.

C'est expliqué dans les tutos :
superpat
Fraîchement OOthentifié
Messages : 9
Inscription : 25 janv. 2016 09:42

Re: [Base] Récupérer un champ dans une listbox

Message par superpat »

Merci pour votre réponse.
J'aurais voulu éviter un sous-formulaire car je suis sur une seule table.
N'y a-t-il pas moyen de récupérer l'ID de ma requête (attachée à ma listbox) et non le nom affiché après ma sélection de la listbox ?
J'ai essayé avec SelectedItems(0) , SelectedItems(1) , CurrentValue mais cela ne fonctionne pas.
J'ai juste besoin de l'ID (unique) qui me donnera l'enregistrement précis recherché.
Merci
Patrick
OPENOFFICE 4.1.16 - windows 11
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26177
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Récupérer un champ dans une listbox

Message par Dude »

superpat a écrit : 23 févr. 2026 11:05 J'aurais voulu éviter un sous-formulaire car je suis sur une seule table.
Il n'y a aucun rapport entre formulaire et table.
Il s'agit de stocker l'information pour qu'elle soit récupérable.
Tu as lu le tuto ? C'est le 1er exemple donné et cela fonctionne en plus sans macro.

Ceci va afficher l'identifiant ID issu de ta table

Code : Tout sélectionner

Sub AllerAuProprietaire(oEv as object)
    oSource = oEv.Source
    With oSource
		nPos = .getSelectedItemPos()
		oListe = .getModel()
    End with
    msgbox oListe.ValueItemList(nPos) 
End Sub
superpat
Fraîchement OOthentifié
Messages : 9
Inscription : 25 janv. 2016 09:42

Re: [Base] Récupérer un champ dans une listbox

Message par superpat »

Merci pour votre aide.
Je vais adapter mon ODB en fonction de votre exemple
Patrick
OPENOFFICE 4.1.16 - windows 11
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12812
Inscription : 08 nov. 2005 16:23
Localisation : Brest, France

Re: [Base] Récupérer un champ dans une listbox

Message par Bidouille »