Ludovic CHEVALIER a écrit :
J'ai pompé et modifié le programme du How-To Exemples_macro_pour_bdd au chap
9.a.
Ca donne ça:
Sub Enregistrement_Param1(oEvt as object)
dim oControl as object
dim oForm as object
dim LaSelection as string
dim SQL as string
'Le controle qui appel la macro
oControl=oEvt.source
'Résultat de la sélection
LaSelection=oControl.SelectedItem
oForm=thiscomponent.drawpage.Forms.GetByName("F_Code_Projet")
Print LaSelection
End Sub
A l'execution, une boîte d'erreur s'ouvre et dit:
"Runtime error BASIC
L'argument n'est pas facultatif"
Dans le programme, la ligne "oControl=oEvt.source" est surlignée.
La Sub doit être appelée par un évènement du formulaire et non pas
directement. Etant appelée directement, elle ne reçoit pas d'argument
d'où l'erreur quand on essaie d'utiliser oEvt.
'Ajout le tableau comme élements de la ListBox
oListBox.StringItemList=oDonnees.GetString(2)
Tout se passe bien jusqu'à la ligne
"oListBox.StringItemList=oDonnees.GetString(2)", où
une boite d'erreur s'ouvre:
"Valeur ou type de données incorrect(e).
Types de données incompatibles"
Rien d'étonnant. StringItemList doit recevoir un tableau de chaînes de
caractères.
Tes autres questions montrent qu'il te manque beaucoup de connaissances
sur l'API OpenOffice.org. Elles sont nécessaires pour savoir modifier
des macros exemples et avoir quelque chance de réussite.
A mon avis il n'y a pas de raccourci, il faut passer du temps à
apprendre les bases et avancer progressivement. Je parle de semaines,
voire de mois.
Comment apprendre ? Soit en lisant le manuel de programmation Basic de
StarOffice 7, complété par le Developer's Guide (en anglais, assez
indigeste), soit en lisant le livre "Programmation OpenOffice.org".
Et ceci ne sera qu'une base à partir de laquelle tu découvriras des
fonctionnalités non décrites.
Bon courage
Bernard