2006/12/5, Pierre <[EMAIL PROTECTED]>:
Bonjour a tous ...

c'est mon premier message ici, et je cherche a comprendre comment je
pourrais faire une liste déroulante comme en php ?

en effet, je viens de commencer à coder en OOoBasic ...

bref mon soucis c'est qu'en html on a la possiblité de mettre une value qui
peut correspondre à l'ID par exemple
et ensuite on tape le texte affiché qui correspondra à la valeur ...

le "itempos" se rapproche de ce principe mais ca reste très limité.
car dans ma base de données j'ai une table qui contient ID et NOM...
et le problème c'est que c'est pas génial de taper sur le NOM, et en gros il
n'y a que cela de possible ...
j'aimerais, dans ma liste pouvoir récupérer le nom et l'id ce qui me
permettrai d'attaquer d'autres tables a partir de cet id
plutot que de faire :
un select sur le nom et ensuite récuperer l'id
ce qui pose problème car on ne pourrait avoir qu'un seul nom identique dans
toute la table .... et je ne peux pas me le permettre ... donc voila voila
...

help me please :)

tentative d'aide (si j'ai bien compris la question) :
il existe une propriété des modèles de zones de liste : ValueItemList

créer une zone de liste avec les propriétés :
Type du contenu de liste : sql
Contenu de liste :  SELECT "nom", "id" FROM "Table"
Champ de données : "nom"

dans le formulaire, créer une macro :
<code OOoBasic>
Sub TestId(oEvent As Object)
 dim oListModel As Object
 dim myCurrentId As String

 oListModel = oEvent.Source.getModel()
 myCurrentId = oListModel.ValueItemList(oListModel.SelectedItems(0))
 msgbox("id = " & myCurrentId)
end sub
</code OOoBasic>
assigner cette macro à l'évènement "Modifié(e)s" de la zone de liste

La zone de liste devrait afficher les noms (y compris les homonymes)
et la variable 'myCurrentId' contenir l'id correspondant lorsque l'on
selectionne un nom dans la liste.



--
Pierre Belmonte


Manuel

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à