Bonjour,
Projet :
Le combobox de la boîte de dialogue apporte une information suite à recherche dans une source de données.
Le document répercute l'information recherchée sur le curseur de la souris.
Un combobox (1) permet à l'utilisateur de rechercher une ligne d'enregistrements dans une source de données.
Une fois la recherche effectuée dans la combobox,
des propositions s'affichent dans une listbox à sélection multiple (2)
C'est la liste de tous les résultats en relation avec la recherche lancée depuis la combobox (1).
Je suis vraiment débutant :
sourcer le combobox avec un recordset issu d'une source de données (base) ?
retourner le contenu d'un textbox de la boîte de dialogue actuellement ouverte ?
retourner le contenu d'un combobox de la boîte de dialogue actuellement ouverte ?
retourner la valeur sélectionnée depuis une listbox à choix multiple ?
retourner le résultat d'une source de données, dans un contrôle de boîte de dialogue ?
Je cherche à récupérer ensuite par macro, la valeur double-cliquée, dans un contrôle listbox, à sélection multiple,
lui-même déployé dans un contrôle boîte de dialogue, afin d'en diffuser le contenu à la position du curseur de souris
dans le document ouvert actif.
Avez-vous une idée sur la manière d'écrire celà !
J'ai beau parcourir les sujets :
h**p//openoffice-libreoffice.developpez.com/faq/?page=Les-zones-de-liste-ListBox#Comment-remplir-une-ListBox-a-partir-d-un-tableau
Je n'arrive même pas à faire référence la boîte de dialogue que je viens de créer pour l'occasion, dans mon document en cours.
Merci beaucoup pour votre aide !
[Résolu][Writer] Récupérer sélection dans une zone de liste
Modérateur : Vilains modOOs
Règles du forum
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 !
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 !
-
- InconditiOOnnel
- Messages : 753
- Inscription : 09 avr. 2013 07:15
- Localisation : T'as pas dit bonjour, merci et à bientot !
[Résolu][Writer] Récupérer sélection dans une zone de liste
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice version 5.4.7.2.M6 (x64)
Windows 10
+
LibreOffice version 5.4.7.2.M6 (x64)
Windows 7
#HSQL Database Engine 1.8.0
version=1.8.0
Locale : fr-FR (fr_FR)
Obligation de version
Bonjour, merci et à bientôt !
Windows 10
+
LibreOffice version 5.4.7.2.M6 (x64)
Windows 7
#HSQL Database Engine 1.8.0
version=1.8.0
Locale : fr-FR (fr_FR)
Obligation de version
Bonjour, merci et à bientôt !
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Writer] Récupérer sélection dans un listbox
Bonsoir
Je pensais que les règles du Forum stipulaient de ne poser qu'une question par fil
Ensuite, pas d'informations sur la base de données, pas d'informations sur ce qu'est censé faire le fameux ComboBox, etc...
À la lecture de ce que tu écris, cela ressemble beaucoup à du publipostage, quel est l'intérêt de coder cela à partir d'un document Writer avec un dialogue ?
Après on peut toujours jouer (à tester)Bon courage
Tout le code vient des réponses apportées à différentes questions sur ce Forum,
A+
Je pensais que les règles du Forum stipulaient de ne poser qu'une question par fil
Après pour ce qui est des projets, le Forum dispose d'une section dédiée Projets.martinbrait a écrit :Projet :
Ensuite, pas d'informations sur la base de données, pas d'informations sur ce qu'est censé faire le fameux ComboBox, etc...
À la lecture de ce que tu écris, cela ressemble beaucoup à du publipostage, quel est l'intérêt de coder cela à partir d'un document Writer avec un dialogue ?
Après on peut toujours jouer (à tester)
Code : Tout sélectionner
Option Explicit
Dim oDlg As Object,maConnexion as Object, maTable as Object
Sub Main
Dim oSelection() as String, listeCandidats as String, i as Integer
Dim maSource As Object, dbContexte As Object
Dim oCol() as Variant, strSQL as String
Dim oDoc as Object, oTexte as Object, CurseurVisible as Object
DialogLibraries.LoadLibrary("Standard")
oDlg = CreateUnoDialog(DialogLibraries.Standard.SelectionCandidats)
dbContexte = CreateUnoService("com.sun.star.sdb.DatabaseContext")
maSource = dbContexte.getByName("Bibliography")
maConnexion = maSource.getConnection("","")
maTable = maConnexion.Tables.getByName("biblio")
oCol = Array(0,4,17,20,25,30)
For i = 0 To UBound(oCol)
oDlg.getControl("lstChamps").addItem(maTable.Columns.getByIndex(oCol(i)).Name,i)
Next i
oDoc = ThisComponent
oTexte = oDoc.Text
curseurVisible = oDoc.CurrentController.ViewCursor
Select Case oDlg.Execute()
Case 1
oSelection = oDlg.getControl("lstCandidats").SelectedItems
If UBound(oSelection) < 0 Then
MsgBox "Aucun candidat sélectionné"
Else
listeCandidats = ""
For i = 0 To UBound(oSelection)
listeCandidats = listeCandidats & oSelection(i) & Chr(13)
Next i
End If
oTexte.insertString(curseurVisible, listeCandidats, False)
Case 0
End Select
maConnexion.close
maConnexion.dispose
oDlg.Dispose
End Sub
Sub oChamp(oEv as Object)
Dim stmt as Object, resultat as Object
Dim strSQL as String, Candidat() as String, x as Integer
strSQL = "SELECT """ & oEv.Source.SelectedItem & """ FROM """ & matable.Name & """"
stmt = maConnexion.createStatement
resultat = stmt.executeQuery(strSQL)
While resultat.Next
If resultat.Columns(0).String <> "" Then
reDim preserve candidat(x)
candidat(x) = resultat.Columns(0).String
x = x + 1
End If
Wend
Candidat = SortedList(Candidat, true)
oDlg.getControl("lstCandidats").Model.StringItemList = Candidat()
End Sub
Tout le code vient des réponses apportées à différentes questions sur ce Forum,
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64