[Résolu][Base]Récupérer valeur / champs "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 !
cpistre
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 22 mai 2016 06:42

[Résolu][Base]Récupérer valeur / champs "zone de liste"

Message par cpistre »


La modération vous a écrit: Pour la bonne tenue de ce forum, veillez à respecter la syntaxe des balises (première lettre en majuscule puis le reste en minuscules, le tout entre crochets). Nous l'avons fait pour vous.

Bonjour,
je suis néophyte dans la programmation avec le basic de libreoffice
Je cherche à récupérer la valeur de la 1ère colonne de mon controle "zone de liste" ; il ne s'agit pas du champs lié ; la valeur est de type alphanumérique

Code : Tout sélectionner

Dim oForm, oControl as Object
Dim valtheme as string
valtheme = ThisComponent.Drawpage.Forms.getByName("F_dossier").getByName("id_lien_activite").SelectedItems(0)
mon code me renvoie la valeur de mon champs lié (2ème colonne) alors que je veux le champs de la 1ère colonne
HELP
Merci
Dernière modification par cpistre le 21 mai 2017 13:15, modifié 3 fois.
LibO 5.3.3
win10
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9256
Inscription : 28 août 2010 08:45

Re: [Base]Récupérer valeur / champs "zone de liste"

Message par micmac »

Bonjour,
votre signature a écrit :OpenOffice 4 et 5 sous Windows
cvpistre a écrit :avec le basic de libreoffice
C'est cette information qu'il faut indiquer dans votre signature qui doit faire apparaître :
  1. la version exacte de OOo, AOO ou LibO (OOo 3.2.1, AOO 4.0.0, 4.1.1, LibO 3.4.6, 5.1.6...), version imposée, version officielle ou des dépôts, selon le cas ;
  2. la version exacte du système d'exploitation (Windows XP SP3, Vista SP2, Win7 SP1, Win 8.1, Win 10, Mac PPC 10.5.8, MacOS 10.12.4, , Ubuntu 16.04 ...par exemple).
Lien direct pour accéder à votre signature
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
Messages : 1214
Inscription : 06 avr. 2016 07:26

Re: [Base]Récupérer valeur / champs "zone de liste"

Message par Hubert Lambert »

Bonjour,

Tu peux essayer ceci :

Code : Tout sélectionner

zoneliste = ThisComponent.Drawpage.Forms.getByName("F_dossier").getByName("id_lien_activite")
choix = zoneliste.SelectedItems(0)
valtheme = zoneliste.ValueItemList(choix)
Cordialement.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
cpistre
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 22 mai 2016 06:42

Re: [Base]Récupérer valeur / champs "zone de liste"

Message par cpistre »

merci pour ton code .... ça fonctionne mais cela récupère que la valeur de la colonne "num_activite" alors que je veux la valeur de la colonne "lien_theme"

Code : Tout sélectionner

contenu de liste de mon contrôle "id_lien_activite"
SELECT `lien_theme`, `num_activite` FROM `tb_activite`
[img]

[/img]
LibO 5.3.3
win10
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: [Base]Récupérer valeur / champs "zone de liste"

Message par Piaf »

Bonsoir
Des fois c'est désespérant :roll:
cpistre a écrit :"id_lien_activite").SelectedItems(0)
cpistre a écrit :mais cela récupère que la valeur de la colonne "num_activite" alors que je veux la valeur de la colonne "lien_theme"
A priori, comme tu le dis cela fonctionne sur la question posée, après un petit effort pour savoir exactement ce que tu veux récupérer serait le bien-venu.
Le tout sans base exemple !!!
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
cpistre
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 22 mai 2016 06:42

Re: [Base]Récupérer valeur / champs "zone de liste"

Message par cpistre »

Bonjour
Ci-joint ma base exemple pour illustrer mon propos
BUT DE LA DEMARCHE :
- Ouvrir un répertoire windows dont le nom se compose des information contenu dans le type de dossier (ex : HAB) et le numero du dossier (ex : 3) / le répertoire à ouvrir est dans ce cas "HAB3" dans le répertoire "c:\temp"
- Pour cela, il faut récupérer dans 'F_dossier', les 2 valeurs des controles [id_lien_activite] et [num_dossier]
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 5.3.3
win10
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: [Base]Récupérer valeur / champs "zone de liste"

Message par Piaf »

Bonjour
Teste

Code : Tout sélectionner

Sub ouvrirRepertoireWindows(oEv as object)
' ouvir un repertoire windows dont le nom se compose des information contenu dans le type de dossier (ex : HAB) et le numero du dossier (ex : 3)
' le repertoire à ouvrir est dans ce cas "HAB3" dans le répertoire "c:\temp"  

Dim oForm, valtypedos_lst as Object
Dim valnumdos as String, valtypedos as string
Dim repwin as string
	oForm = oEv.Source.Model.Parent
'récupération des 2 valeurs du formulaire [id_lien_activite] et [num_dossier]

'[num_dossier]
	valnumdos = oForm.getByName("num_dossier").Text

'[id_lien_activite]
	valtypedos_lst = oForm.getByName("id_lien_activite")

	valtypedos = valtypedos_lst.StringItemList(valtypedos_lst.SelectedItems(0))

'test pour vérifier que la récupération de valeur se fait bien
	MsgBox ("type dossier:" & valtypedos & " n° " & valnumdos)

'recomposition du chemin du repertoire windows à ouvrir
	repwin = ConvertToUrl("c:\temp\" & valtypedos & valnumdos)
	MsgBox ( repwin ) 
	If	FileExists( repwin) Then
'ouverture du repertoire windows correspondant 
		oShell = createUnoService("com.sun.star.system.SystemShellExecute")
		oShell.execute(repwin,"", 0)  
	End If
End Sub
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
cpistre
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 22 mai 2016 06:42

Re: [Base]Récupérer valeur / champs "zone de liste"

Message par cpistre »

génial
ça marche nickel
merci
LibO 5.3.3
win10