4 messages in org.openoffice.fr.prog[prog] Filtre sur les tables d'une ba...
FromSent OnAttachments
vincent pinsonJun 29, 2005 2:23 pm 
Jean...@i-carre.netJun 30, 2005 12:11 am 
Thomas CoqueryJun 30, 2005 2:30 am 
PINSON VincentJun 30, 2005 7:19 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[prog] Filtre sur les tables d'une base de données ?Actions...
From:vincent pinson (vpin@astek.fr)
Date:Jun 29, 2005 2:23:20 pm
List:org.openoffice.fr.prog

Salut , je travaille sur la version 1.1.4 de oOo et je fais mes premiers pas dans les macros BASIC. Je souhaitais créer à la volée une base de données, et j'ai donc récupérer une macro permettant de faire cela.

La macro marche parfaitement pour la création et la supression de la base à l'ouverture et à la fermeture du document sxw.

Je souhaite maintenant filtrer à l'affichage la liste des tables de cette même base. A priori, il faut que j'utilise la propriété TableFilter, mais j'ai beau la triturer dans tous les sens, je ne sais pas comment l'appliquer. J'ai essayé ça => newInstance.TableFilter.(oNomSource) ça => newInstance.TableFilter(oMyArray) ou oMyArray est défini comme 1 tableau de chaine contenant le nom de ma table. et même ça => newInstance.TableFilter = oNomSource Quelle est la bonne formulation ???

Voici le code : ' **************************************************** ' * Déclaration ' **************************************************** const TypeSource="dBase" 'Mettre Calc, dBase ou MySQL (attention à la casse) const NomSource="areama" 'Si vide -> Nom de la Lettre Type const NomBase="" 'Nom et Chemin complet de la base (attention à la casse sur Linux) 'Si vide -> Chemin et Nom de la Lettre Type ' **************************************************** ' * Creation ' **************************************************** sub Creation_Source_De_Donnees() oURL= ConvertToURL ("C:\areama.dbf") oTabURL=split(oURL,"/") oNomFichier=oTabURL(uBound(oTabURL)) if NomSource="" then oNomSource=mid(oNomFichier, 1, len(oNomFichier)-4) else oNomSource=NomSource end if if NomBase="" then oNomBase=mid(oURL, 1, len(oURL)-4) select case TypeSource case "dBase": oNomBase=oNomBase & ".dbf" case "Calc": oNomBase=oNomBase & ".sxc" end select else oNomBase=NomBase end if oDBContext=createUnoService("com.sun.star.sdb.DatabaseContext") Reponse=oDBContext.hasByName(oNomSource) If Reponse then msgbox "La source de données " & oNomSource & " existe déjà, création impossible !" exit sub end if newInstance = oDBContext.createInstance oDBContext.registerObject(oNomSource, newInstance ) select case TypeSource case "dBase": newInstance.URL = "sdbc:dbase:" & oNomBase case "Calc": newInstance.URL = "sdbc:calc:" & oNomBase case "MySQL": newInstance.URL = "sdbc:mysql:odbc:" & oNomBase end select msgbox "Source de Données " & oNomSource & " (" & TypeSource & ") créée." newInstance.TableFilter.(oNomSource) end sub