Stagiaire WDF ![](http://old.wdforge.org/uploads/rank3e84154a75422.gif)
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
|