PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Export de fichier au format CSV d'une base HFSQL
Export de fichier au format CSV d'une base HFSQL
Iniciado por FORNARI / EURL FORNA, 16,nov. 2019 15:58 - 3 respuestas
Miembro registrado
36 mensajes
Publicado el 16,noviembre 2019 - 15:58
Bonjour,

je suis en cours de développement d'un module permettant d'exporter un ou plusieurs fichiers d'une base HFSL classique.
Je n'ai pas d'analyse dans le module.
Pour me connecter à la base j'utilise la fonction HOuvreConnexion(gcnxMaConnexion) ou gcnxMaConnexion contient les informations d'accès à la base de données.

Voici l'enregistrement dans la variable gcnxMaConnexion :
gcnxMaConnexion..Utilisateur = SAI_Utilisateur
gcnxMaConnexion..MotDePasse = SAI_Mot_de_passe
gcnxMaConnexion..Serveur = SAI_Serveur
gcnxMaConnexion..BaseDeDonnées = SAI_chemin // nom et chemin d'accès au fichier WDD de la base
gcnxMaConnexion..Provider = hAccèsHF7
...
HOuvreConnexion(gcnxMaConnexion)


Lorsque je veux faire l'export, il ne prend pas en compte le chemin d'accès aux fichiers de la base à laquel je suis connecté et crée des fichiers vides dans le répertoire EXE du projet au lieu de lire les fichiers lié à la connexion.
sAffectRepFichier=[
HExporteCSV(%1,"%2%1.CSV",hExpCréation)
]
sAExecuter = ChaîneConstruit(sAffectRepFichier,sle_fichier,sRépertoire)
ExécuteCode(sAExecuter)

sle_fichier contient le nom du fichier, srépertoire le répertoire de destination

Pour des raison d'explication de mon soucis, j'ai réduis au plus simple le code.

J'ai trouver une parade pour que l'on pointe sur le bon fichier de donnée en utilisant la fonction hchangeRep(), mais je trouve que cela fait vraiment bricolage.

Je n'ai pas fais de test sur du client/serveur. Tout mes tests sont fais en local.

Par exemple:
Je veux exporter mon fichier client de ma base TEST depuis mon programme d'export.
gcnxMaConnexion..BaseDeDonnées ="C:\Mes Projets\TEST\test.wdd"
mon projet est sous c:\Mes Projets\export\
le répertoire de destination est D:\
Après le lancement, on retrouve dans D:\ un fichier client vide alors que dans la base de connexion le fichiers contient plusieurs enregistrements.
Un nouveau fichier client est créer dans le répertoire de mon projet export\exe\

Si quelqu'un a une idée je suis preneur.

Merci d'avance.

Christian
Miembro registrado
2.682 mensajes
Publicado el 16,noviembre 2019 - 16:19
Bonjour,

Il faut utiliser HChangeRep en HF classic.

--
Cordialement,

Philippe SAINT-BERTIN
Miembro registrado
36 mensajes
Publicado el 16,noviembre 2019 - 17:29
Bonjour,

Merci pour l'information mais je trouve pas cela très logique sachant que logiquement lors de la connexion on devrai directement pointé vers les fichiers. Sachant que j'ouvre l'analyse systématiquement aussi.
Mais c'est ce que j'ai mis en place pour le moment.
En attente d'une autre solution si elle existe.

Cordialement,

Christian
Miembro registrado
2.682 mensajes
Publicado el 16,noviembre 2019 - 20:28
..BaseDeDonnées ne sert en aucun cas à définir le répertoire des fichiers. Si tu attends une autre solution, tu n'en auras pas, c'est le fonctionnement de HF en Classic.

Bon courage et bonne attente.

--
Cordialement,

Philippe SAINT-BERTIN