Cas d'utilisation :
Afin de mémoriser plus simplement mes noms de tables, noms de champs
associés à leurs description (de nom de champs), je souhaiterai
exporter un état sous fichier texte, structuré comme suit :
'===========
'nombase
'===========
nomtable1;
nomchamp1;descriptionchamp1
nomchamp2;descriptionchamp2
nomchamp3;descriptionchamp3
nomtable2;
nomchamp1;descriptionchamp1
nomchamp2;descriptionchamp2
nomchamp3;descriptionchamp3
Pourriez-vous m'aider à réaliser celà, s'il vous plaît ?
Voici mes quelques pistes, pour démarrer...
'lister les champs de tables, et les descriptions de champs,
Code : Tout sélectionner
'Voici deux requetes qui fonctionnent à la fois sur LibreOffice et OpenOffice :
1°) Liste des tables d'une base :
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.SYSTEM_TABLES WHERE TABLE_TYPE='TABLE';
2°) Liste des champs d'une table :
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.SYSTEM_COLUMNS WHERE TABLE_NAME NOT LIKE 'SYSTEM_%' AND TABLE_NAME='<Nom de votre table>';
'=======================
'écrire dans un fichier texte
'=======================
'Écriture de fichiers texte
'Pour accéder à un fichier texte, vous devez d'abord l'ouvrir.
'Pour ce faire, il faut un descripteur de fichier libre, qui identifie clairement le fichier pour les accès ultérieurs.
'La fonction FreeFile sert à créer un descripteur de fichier libre.
'Ce descripteur est passé comme paramètre à l'instruction Open, qui ouvre le fichier.
'Pour ouvrir un fichier de manière à pouvoir le spécifier comme fichier texte, l'appel Open est :
Sub EcrireDansFichierTexte()
'Filename est une chaîne de caractères contenant le nom du fichier. FileNo est le descripteur créé par la fonction FreeFile.
'Une fois le fichier ouvert, vous pouvez décrire l'instruction Print ligne par ligne :
'FileNo désigne ici aussi le descripteur de fichier. Le second paramètre spécifie le texte à enregistrer comme ligne du fichier texte.
'Une fois le processus d'écriture achevé, le fichier doit être refermé avec un appel Close :
Open Filename For Output As #FileNo
Print #FileNo, "This is a test line."
Close #FileNo
End Sub
'Auteur : SilkyRoad
'Comment écrire dans un fichier texte en utilisant l'instruction Output ?
'Si le fichier .txt existe déjà, les anciennes données seront écrasées.
'Si le fichier n'existe pas, il sera créé automatiquement.
Sub EcrireDansFichierTexte_OutPut
Dim Fichier As String
Fichier = "C:\NomFichier.Txt"
Open Fichier For Output As #1
Print #1, "Test 1ere ligne"
Print #1, "Test 2eme ligne"
Close #1
End Sub
'Comment écrire dans un fichier texte en utilisant l'instruction Append ?
'Les données viennent s'inscrire à la suite des lignes existantes.
'Si le fichier .txt n'existe pas, il sera créé automatiquement.
Sub EcrireDansFichierTexte_Append
Dim Cible As Integer
Dim Fichier As String
Fichier = "C:\NomFichier.Txt"
Cible = freeFile
Open Fichier For Append As #Cible
Print #Cible, "Mon texte dans le fichier"
Close #Cible
End Sub