Import sous WD9
Stagiaire WDF
Inscrit:
11/01/2006 23:42
Post(s): 5
Bonjour à vous tous,

Je débute sous WD et je suis en train de créer une application dans laquelle je souhaite importer des données dans une base hyper file sous WD. Ces données proviennent soit d'une table excel soit d'un fichier pdf. C'est pour cela que mon choix se porte sur la fonction clipboard

Ma table excel comprend 6 champs : Type_Appel,Correspondant,Date,heure,motif,réponse, opératrice". Il en est de même pour le fichier PDF

Ma base de données hyper file comprend les champs suivants : Type_Appel,Correspondant,Date,heure,motif,réponse".
Rem:Le champs opératrice ne m'intéressant pas.

1ère Méthode

HImporteTexte(appels, "C:\Documents and Settings\Boulot\Mes documents\Suivi ---2012.csv", "Type_Appel,Correspondant,Date,heure,motif,réponse", ";"+Caract(127)+""""+Caract(127)+RC, hImpSansDélimiteur)
SI ErreurDétectée ALORS
Erreur(HErreurInfo())
FIN

//-- fin code 1ère méthode

2ème méthode :

//-- Code généré au niveau du curseur--
//-- début code généré par l'assistant --
NomTxt est une chaîne // Nom du fichier .TXT
NomHF est une chaîne // Nom du fichier HF
SepRub est une chaîne // Séparateur utilisé dans le txt pour différencier les rubriques
SepEnr est une chaîne // Séparateur utilisé dans le txt pour différencier les enregistrements
NumFic est un entier // Numero du fichier .txt ouvert
CptSep est un entier // Compteur de rubrique par enregistrement
EnregExtrait est une chaîne // Enregistrement extrait du fichier txt
RubExtrait est une chaîne // Rubrique extraite du de l'enregistrement
Buffer est une chaîne // Buffer de lecture du fichier TXT
Buffer2 est une chaîne // Buffer de lecture du fichier TXT
nbLus est un entier // Nombre de caractères transférés dans le buffer lors de la lecture
SepRub=TAB // Séparateur de rubriques
SepEnr=RC // Séparateur d'enregistrement
HGèreDoublon (Appels,"*",Vrai) // Gestion des doublons
NomTxt="C:\Documents and Settings\Boulot\Mes documents\Suivi ---2012.csv" // Nom du fichier .txt
NumFic==fOuvre(NomTxt,foLecture) // Ouverture du fichier txt
SI NumFic=-1 ALORS
Erreur("Erreur lors de l'ouverture du fichier texte",ErreurInfo())
RETOUR
SINON
// Ouverture du fichier Hyper File
HCréationSiInexistant(Essai)
SI ErreurDétectée ALORS
Erreur("Erreur lors de la création du fichier : "+"Essai",HErreurInfo())
FIN
Sablier(Vrai)
Buffer=fLit(NumFic,1000) // Lecture d'une première partie du fichier txt
nbLus=Taille(Buffer)
TANTQUE Buffer<>""
TANTQUE nbLus=1000 ET Position(Buffer,SepEnr)=0
// On continue la lecture pour avoir un enregistrement entier
Buffer2=fLit(NumFic,1000) // on continue de lire le fichier
nbLus=Taille(Buffer2)
Buffer=Buffer+Buffer2
FIN
EnregExtrait=ExtraitChaîne(Buffer,1,SepEnr)
CptSep=1
RubExtrait=ExtraitChaîne(EnregExtrait,CptSep,SepRub)
TANTQUE RubExtrait<>EOT
// Tant qu'il reste des rubriques
// extrait chaque rubrique et on l'envoie vers le fichier HF
HVersRubrique(Essai,CptSep,RubExtrait)
CptSep=CptSep+1
RubExtrait=ExtraitChaîne(EnregExtrait,CptSep,SepRub)
FIN
HAjoute(Essai,hForceIdAuto) // Ecrit le nouvel enregistrement dans le fichier HF
// Gestion des doublons
SI HErreurDoublon() ALORS
Info("l'enregistrement" +EnregExtrait+" n'a pas été enregistré","La valeur d'une clé existe déjà")
RETOUR
Sablier(Faux)
FIN
Sablier(Vrai)
SI Position(Buffer,SepEnr)<>0 ALORS
// si on a un séparateur d'enregistrement dans le buffer
Buffer=Milieu(Buffer,Position(Buffer,SepEnr)+Taille(SepEnr))
SI Buffer="" ALORS
// s'il n'y a plus rien dans le buffer après le séparateur
Buffer=fLit(NumFic,1000) // on lit la suite du fichier TXT
nbLus=Taille(Buffer)
FIN
SINON
// plus d'autre séparateur
SI nbLus<>1000 ALORS
// la dernière lecture dans le fichier TXT a fini le fichier
Buffer="" //on sort
FIN
FIN
Sablier(Faux)
FIN
FIN
//-- fin code 2ème méthode


J'ai essayé ces deux méthodes. La première méthode mets bien le contenu dans les différens champs de la base, alors que la seconde, mais chaque enregistrement dans un même champs mais je n'arrive pas à les adapter pour utilisé à la place du fichier texte, le contenu du presse papier.

Résumé :
Ma première question : Comment puis-je faire pour importer le contenu d'un fichier excel ou le contenu d'un fichier PDF dans une base hyper file dont les champs sont définis ?
Ma seconde question : Comment éviter que lors de l'importation, la ligne titre ne soit pas importée ?

Je sais que je vous demande beaucoup, mais si quelqu'un pourrait me donner la solution
Avec mes remerciements

Contribution le : 12/01/2006 14:36
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2