25 Apr 08:01
Re: Liste des tables d'une base
From: Francois Gatto <ooo <at> volcar.org>
Subject: Re: Liste des tables d'une base
Newsgroups: gmane.comp.openoffice.devel.french
Date: 2008-04-25 06:01:02 GMT
Expires: This article expires on 2008-05-09
Subject: Re: Liste des tables d'une base
Newsgroups: gmane.comp.openoffice.devel.french
Date: 2008-04-25 06:01:02 GMT
Expires: This article expires on 2008-05-09
Bonjour,
François Breizh a écrit :
> Bonjour à tous.
>
> J'ai un problème avec l'accès à la liste des tables d'une base de
> données : je souhaite pouvoir supprimer et recréer des tables par macro.
> A un moment je veux balayer les tables existantes par quelque chose
> comme ça :
>
> /BaseComptes = DatabaseContext.getByName("Paiements")
> ....
> oLstTables = BaseComptes.Tables
> If oLstTables.Count > 0 Then
> For I = 0 To oLstTables.Count - 1
> ....
> SString = oLstTables.ElementNames(I)
> Next I
> End If
>
> /Le problème est que la liste obtenue est toujours la même : avec une
> base importée d'une autre machine, je retrouve toujours la liste des
> tables existantes au début, même lorsque je les ai supprimées ; avec une
> base initialisée par macro (qui n'avait aucune table lorsque je l'ai
> enregistrée), la liste est toujours vide, même après avoir ajouté des
> tables.
> Ai-je mal compris l'usage d'une variable de type
> com.sun.star.sdb.ODefinitionContainer ?
>
>
1] Liste de tables
Je pense qu'il te manque simplement une instruction de rafraichissement
des tables après suppression/creation des tables.
Tu devrais avoir en amont de ta procédure de listage des tables quelque
chose comme :
oLstTables.Refresh()
avec oLstTables = oConnexion.getTables()
2] Sauvegarde de tables/bases
> avec une base importée d'une autre machine,
> je retrouve toujours la liste des tables existantes au début
Là je crois que tu oublies de sauvegarder les modifications de ta Base.
Aussi il est nécessaire d'enregistrer ta base mise à jour, par exemple
avec ce genre d'instructions :
'enregistrement
oDataSource.DataBaseDocument.Store()
'libération de la connexion si fin de traitement
oConnexion.dispose()
Francois Gatto
RSS Feed