Bonjour,
On Wed, Sep 14, 2005 at 01:57:27PM +0200, Jovial wrote:
> Florent Manens a écrit :
> >Nous pouvons poursuivre la conversation sur [EMAIL PROTECTED]
> Je pensais que les questions dédiées à la 2.0 se posait sur cette liste?
> Si j'ai mal compris je transmet sur Prog
C'est vrai que nous parlons de la v2 et que les discussions sur la v2
sont normalement faites sur [EMAIL PROTECTED] Mais pour ce cas précis, il me
semble que c'est plus une question de programmation que d'utilisation de
la v2.
Je continue la conversation ici pour l'instant.
> Dans mon context je cherche à enregistrer une base(format natif OOo)
> déjà crée danc un fichier *.odb.
> Sinon essayé sous plusieurs formes ton code avec un fichier .Dbase sans
> succès, il y peut être erreur dans l'attribution des arguments directory
> , NomSource , NomFichierSource voir adaption ci -dessous
> Sub AjoutSource
> directory = "C:\Mes documents\DossierBdd"
Ici, on doit préciser le nom du répertoire contenant les fichiers csv
(ou dbf).
> NomSource = "EssaiSource"
> NomFichierSource = "CarnetAdr.dbf"
Ici, le "NomFichierSource" est le nom du fichier odb. Je rappel que la
fonction permet de créer une source sur un répertoire contenant des
fichiers csv. "CarnetAdr" ne sera jamais utilisé lors de la création de
la source de données, c'est simplement le nom d'une table. Ces notions
sont aussi valables pour la création de sources de données en v1.1.x.
> CreationDatasource (directory , NomSource , NomFichierSource)
> End sub
>
> function CreationDatasource (directory As String, NomSource As String,
[...]
> oNewSource.databaseDocument.storeAsURL( NomFichierSource, props()) '
> MESSAGE ERREUR
C'est normal car j'imagine que le fichier DBF existe déjà à cet endroit
là.
> flatProp(0).Name = "Extension"
> flatProp(0).Value = "dbf" ' string
[...]
> flatProp(7).Name = "ThousandDelimiter"
> flatProp(7).Value = "," ' string
Cette partie concerne la configuration de la création d'une source sur
des fichiers CSV, il n'y a pas de raison de l'utiliser dans le cas du
Dbase.
> oNewSource.Info = flatProp()
Du coup cette ligne n'est pas nécessaire si on ne change pas les options
par défaut. Il faudra peut être ajuster l'encodage des fichiers Dbase,
voir le devguide pour les options (je ne sais pas si c'est dans le livre
de Bernard Marcelly).
> oNewSource.databaseDocument.store() ' NEW STEP
>
> oDBContext=createUnoService("com.sun.star.sdb.DatabaseContext")
> Reponse=oDBContext.hasByName(NomSource)
> If Reponse then
> msgbox "La source de données " & NomSource & " existe déjà, ajout
> impossible !"
> exit Function
> end if
> oNewSource.URL = "sdbc:flat:" + directory
Pour le cas du Dbase, il y a une modification à faire ici, ça n'est plus
sdbc:flat: mais sdbc:dbase:
> oNewSource.databaseDocument.store()
> oContext.RegisterObject (NomSource, oNewSource)
> CreationDatasource = oNewSource
> End Function
Sauf l'enregistrement su fichier qui plantait (car un fichier est déjà
présent ?), il n'y a rien de spécifique à la v2.0 dans les erreurs du
code fourni.
--
Florent Manens
http://www.starxpert.fr
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]