Tony GALMICHE a écrit :
Bonsoir Christian,
Christian Draux a écrit :
julien cochennec wrote:
Christian Draux a écrit :
Tu peux peut être passer par le basic pour injecter du code qui
viendrait d'un fichier text. Perso je sais pas faire.
Pour exporter une base Ooo base en SQL, c'est possible.
Voir ici :
http://www.infogest.free.fr/index.php?tg=articles&topics=10
Intéressant ton site.
Tu ne voudrais pas participer à l'élaboration de how-to sur Base pour
mettre sur notre site par hasard ;-)
Je viens de le lire, ça résout en grande partie le problème de
transfert : en fait une macro très simple peut lancer cette commande
(faut vérifier?) et ensuite choisir une base dans les sources de
données
ODBC, éxécuter ce script moyennant quelques modifications.
C'est un outil drôlement puissant en tout cas. Pour répliquer une base
locale sur un serveur, ou encore obtenir une sauvegarde au format
texte de toute une base...
est ce que c'est possible de faire la même chose avec seulement une
table?
Je ne pense pas.
Extrait de la doc sur le moteur HSQLDB de Ooo Base :
SCRIPT ['file'];Creates an SQL script describing the database. If the
file is not specified, a result set containing only the DDL script is
returned. If the file is specified then this file is saved with the
path relative to the machine where the database engine is
located.Only an administrator may do this.Toute la doc le moteur est
ici :http://hsqldb.sourceforge.net/web/hsqlDocsFrame.htmlBonne
[EMAIL PROTECTED]
Je ne connaissais pas cette commande "SCRIPT ['file']" et elle est
vraiment très intéressante. Même sur une table de 100000
enregistrement, le résultat est instantanée. Je vais donc essayer de
l'exploiter pour faire une macro pour importer/exporter des données
entre plusieurs fichiers Base.
Tu ne saurais pas par hasard s'il est possible avec une autre commande
de faire le contraire et de créer des tables et d'ajouter des
enregistrements dans un fichier Base à partir d'un fichier contenant
des instructions SQL ?
Exactement ce que je me suis demandé, et j'y ai réfléchi ce matin, je me
disais :
supposons ( oui quand je réfléchis je parle comme ça ) qu'on ait deux
fichiers base avec deux tables de même structure, une dans chaque fichier.
une fenêtre de dialogue s'ouvre et demande à l'utilisateur,
successivement, la base source, la base destination, la table source, la
table destination.
Ensuite il génère le fichier script source, va cherche dans ce fichier
la ligne insert into "nomdelasource" et copie toutes les lignes qui suivent.
Il recommence des fois que cette ligne apparaisse plusieurs fois.
La macro a donc en mémoire tous les enregistrements à insérer dans la
table destination.
Il suffirait presque de remplacer "nomdelasource" par
"nomdeladestination" dans le texte et roule... mais si destination
contient déjà des enregistrements de source?
Il faudrait faire une boucle munie d'une instruction conditionnelle, si
"clé enregistrement déjà dans destination" alors "remplacer insert par
update".
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]