IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Copie enregistrements d'un fichier vers un autre [WD25]


Sujet :

WinDev

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 40
    Points
    40
    Par défaut Copie enregistrements d'un fichier vers un autre
    Bonjour,

    J'ai une application Windev avec une base HFSQL Serveur.
    Certains utilise cette application en local (car il ne peuvent pas se connecter au serveur), et ont donc une base de données en local.
    Grace à OneDrive je récupère chez eux les fichiers fic, mmo et ndx que je veux.
    Je veux ensuite copier le contenu de ces fichiers dans mes fichiers présents sur le serveur.
    J'ai essayé avec HDéclareExterne mais ensuite j'ai un probleme avec le .MMO
    Il me dit qu'il n'est pas au format HFSQL.

    Je vois pas comment je peux faire du coup pour pouvoir lire les fichiers FIC...

    Avez-vous une idée?

    Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    Je dirai que tu as un problème avec le fichier mmo qui doit être corrompu.
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 40
    Points
    40
    Par défaut
    D'accord.
    Vous avez une idée de comment je pourrais récupérer les données alors?

  4. #4
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 266
    Points
    5 266
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Tu peux faire une réindexation, soit via le CCHFSQL, soit via un hReéindexe avec l'option hVérifieMémo que tu place à la fin de ton code de récupération
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  5. #5
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    Regarder les fonctions Hxxxx de windev, tu trouveras la bonne.
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 40
    Points
    40
    Par défaut
    Que ce soit avec le CCHFSQL ou avec hReéindexe et hVérifieMémo, c'est pareil il me dit que le MMO n'est pas au format HFSQL.

    Je récupère les FIC, NDX et MMO en faisant un fCopieFichier (d'abord le fic, après le mmo et enfin le ndx).
    Vous pensez que c'est ça qui rend mon MMO illisible?

  7. #7
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Bonjour,

    Je n'ai pas le détail de ton fonctionnement, mais pourquoi n'utilises tu pas HcopieFichier ?
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 40
    Points
    40
    Par défaut
    Bonjour,

    J'ai essayé mais ça me dit que HCopieFichier ne fonctionne que en serveur HFSQL.

    Dans mon cas c'est une base en Classic. Je veux copier le fichier de données dans un dossier OneDrive

  9. #9
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    OK

    Est-ce que tu fais un Hferme(MonFichier) avant de faire la copie de tes trois fichiers ?

    Autre piste : utiliser un alias (HAlias), copier le contenu du fichier dans cet alias, le fermer et copier les fichiers créés.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  10. #10
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 40
    Points
    40
    Par défaut
    Bonsoir,

    Voici mon code.
    Dans mon analyse j'ai un fichier TACHE.
    Dans un dossier j'ai le fichier TACHE166.fic. Je voudrais inclure les enregistrements de ce fichier dans TACHE.
    Avec ce code je n'arrive pas à récuperer le contenu de TACHE166, il me créer un autre fichier _SOURCE_TACHE166_1.fic
    Du coup ensuite il fait le reste des traitement avec ce fichier qui est vide...

    Pouvez-vous m'aider s'il vous plait?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    TACHE166 est une Source de Données <description=TACHE>
    SI HAlias(TACHE, TACHE166) = Vrai ALORS
        HChangeRep(TACHE166, "Bases_Terrain\166")
        HOuvre(TACHE166)
        HLitPremier(TACHE166, "IDTACHE")
        TANTQUE PAS HEnDehors(TACHE166)
            SI HCopieEnreg(TACHE, TACHE166) = Vrai ALORS
                HAjoute(TACHE166)
                SI HErreurDoublon() = Vrai OU ...
                    HErreurIntégrité() = Vrai ALORS
                    SI OuiNon("Erreur de doublon " + ...
                        "ou d'intégrité " + ...
                        "pendant l'ajout " + ...
                        "Continuer ?") = Faux ALORS
                        SORTIR
                    FIN
                FIN
            SINON
                Erreur("Copie d'enregistrement impossible")
                SORTIR
            FIN
            HLitSuivant(TACHE166, "IDTACHE")
        FIN
    SINON
        Erreur("Détail du Problème" + HErreurInfo())
    FIN

  11. #11
    Nouveau membre du Club Avatar de pacodiasse
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2013
    Messages : 23
    Points : 33
    Points
    33
    Par défaut
    Bonjour ,
    Dans ton code je vois une chose bizarre
    HAjoute(TACHE166) pourquoi pas HAjoute(TACHE) puisque tu souhaites copier les enregistrements du fichier TACHE166 VERS HAjoute(TACHE).

    cdlt


    Développeur freelance en PHP laravel et produit PCSOFT. En cas de besoin veuillez me contacter (senitdev@gmail.com).

  12. #12
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 40
    Points
    40
    Par défaut
    Bonjour,

    Oui en effet je me suis trompé.
    Mais j'ai le soucis avant. Il entre pas dans le TANTQUE parce qu'il récupères pas le TACHE166.FIC. Il me crée un autre fic.
    Pourtant j'ai suivi la procédure d'utilisation du HAlias() sur le site de pcsoft.

  13. #13
    Nouveau membre du Club Avatar de pacodiasse
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2013
    Messages : 23
    Points : 33
    Points
    33
    Par défaut
    Bonjour,
    Je vais simple après tu adaptes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    HChangeRep(TACHE166, "Bases_Terrain\166")
    POUR TOUT TACHE166
        HcopieEnreg(TACHE,TACHE166)
        Hajoute(TACHE)
    FIN
    Cdlt


    --
    Développeur freelance en PHP laravel et produit PCSOFT. En cas de besoin veuillez me contacter (senitdev@gmail.com).

  14. #14
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 40
    Points
    40
    Par défaut
    Je pense que ton code fonctionne mais le soucis, c'est qu'il ne me récupère pas le TACHE166.FIC (alors qu'il est bien la) et il me crée un autre fic, _SOURCE_TACHE166_1.FIC, qui est donc vide.
    Donc du coup le code continue avec ce FIC qui est vide.

    Je pense que le soucis vient des premières lignes du code mais je vois pas ce qui coince....

  15. #15
    Nouveau membre du Club Avatar de pacodiasse
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2013
    Messages : 23
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par matiasko Voir le message
    Je pense que ton code fonctionne mais le soucis, c'est qu'il ne me récupère pas le TACHE166.FIC (alors qu'il est bien la) et il me crée un autre fic, _SOURCE_TACHE166_1.FIC, qui est donc vide.
    Donc du coup le code continue avec ce FIC qui est vide.

    Je pense que le soucis vient des premières lignes du code mais je vois pas ce qui coince....
    Par assurance est ce que vous avez bien mis le fichier TACHE166 dans le répertoire 166?
    Parce que bizarrement j'ai testé mais ca fonctionne chez moi
    cdlt

    --
    --
    Développeur freelance en PHP laravel et produit PCSOFT.En cas de besoin veuillez me contacter (senitdev@gmail.com).

  16. #16
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 40
    Points
    40
    Par défaut
    Le fichier TACHE166 est bien dans le répertoire 166.
    Mais peut-être que j'ai fais une erreur dans le chemin.

    J'ai la base dans ce dossier \\vm-data\f$\LGA\LGA\BD\LGA

    TACHE166 est dans ce dossier \\vm-data\f$\LGA\LGA\BD\LGA\Bases_Terrain\166

    C'est bon si je mets HChangeRep(TACHE166, "Bases_Terrain\166") ?

  17. #17
    Nouveau membre du Club Avatar de pacodiasse
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2013
    Messages : 23
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par matiasko Voir le message
    Le fichier TACHE166 est bien dans le répertoire 166.
    Mais peut-être que j'ai fais une erreur dans le chemin.

    J'ai la base dans ce dossier \\vm-data\f$\LGA\LGA\BD\LGA

    TACHE166 est dans ce dossier \\vm-data\f$\LGA\LGA\BD\LGA\Bases_Terrain\166

    C'est bon si je met HChangeRep(TACHE166, "Bases_Terrain\166") ?
    Bonjour,
    POUR TESTER Fait un Trace(TACHE166)
    Si les données s'affichent correctement il faut faire la liaison manuelle pour copier totalement le fichier à cause des format de fichier qui sont différent
    cdtl
    --
    Développeur freelance en PHP laravel et produit PCSOFT.En cas de besoin veuillez me contacter (senitdev@gmail.com).

  18. #18
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 40
    Points
    40
    Par défaut
    Le Trace(TACHE166) ne donne rien, j'ai toujours TACHE166 = _SOURCE_TACHE166_1 (qui se créé tous seul et qui est donc vide)

  19. #19
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 054
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 054
    Points : 9 393
    Points
    9 393
    Par défaut
    Je suis vieille école. Dans hChangeRep() , je mets toujours un chemin COMPLET et pas un chemin relatif.
    Donc un truc du genre "c:\users\data\..."

    Avant ta boucle, tu peux ajouter un info( hnbEnr(tache166) , tache166.Repertoire, Tache166.NomPhysique ) pour vérifier ce que le programme va lire.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  20. #20
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 40
    Points
    40
    Par défaut
    Bonjour,
    Il aime pas le chemin complet:

    L'utilisation d'un chemin absolu est interdit. Vous devez spécifier un chemin relatif à la base de données

    et la commande info me donne _SOURCE_TACHE166_1

    Vraiment je comprends pas, j'ai bien dans mon dossier 166 les fichiers TACHE166.FIC, TACHE166.mmo et TACHE166.ndx

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Procédure stockée, copie d'enregistrement d'une table vers une autre
    Par sarah65536 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 15/06/2009, 18h02
  2. [DOS] copie de ligne d'un fichier vers un autre
    Par Ted37 dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 23/01/2009, 18h08
  3. Copie de cellules d'un fichier vers un autre
    Par Masmeta dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/02/2008, 15h04
  4. copie d'un fichier vers un autre d'un extrait XML
    Par MOMO321 dans le forum Modules
    Réponses: 2
    Dernier message: 05/07/2006, 11h21
  5. copie d'un fichier vers un autre serveur
    Par jexl dans le forum ASP
    Réponses: 4
    Dernier message: 20/12/2004, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo