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 :

Intégration des données d'un fichier excel [WD17]


Sujet :

WinDev

  1. #1
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut Intégration des données d'un fichier excel
    Bonjour à tous,

    Je souhaite intégrer les données d'un fichier excel (xlsx) sous WinDev.
    Cependant je n'arrive pas à ajouter des informations dans deux fichiers WinDev différents.

    Voici mon code :

    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
    IDFichierXLS est un xlsDocument
    NomFichierXLS est une chaîne = SAI_Fichier_Excel
    IDFichierXLS =xlsOuvre(NomFichierXLS)
    SI IDFichierXLS<>-1 ALORS 	
    	iTaille est un entier=xlsNbLigne(IDFichierXLS,Vrai)
    	i est un entier=1
    	TANTQUE i<=iTaille
    		i++
    		Clients.ID_clients=xlsDonnée(IDFichierXLS,i,1,Faux)
    		Clients.Libelle_clients=xlsDonnée(IDFichierXLS,i,2,Faux)	
    		Partenaires.ID_partenaires=xlsDonnée(IDFichierXLS,i,3,Faux)
    		HAjoute(Clients)
    		HAjoute(Partenaires)
    	FIN			
    SINON 
    	Erreur(xlsMsgErreur(IDFichierXLS)+" "+ErreurInfo()) 
    FIN
    xlsFerme(IDFichierXLS)
    Le code ci dessus me permet juste d'ajouter des données dans le fichier "Clients"...

    Quelqu'un a-t-il un idée pourquoi le HAjoute(Partenaires) ne fonctionne pas ??

    Merci pour votre aide!

  2. #2
    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
    Oui, plein... Mais avec si peu d'info (structure des fichiers et liaisons) autant nous demander d'écrire la théorie de la relativité...
    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

  3. #3
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut
    Bonjour Frenchsting,

    Je vais donner plus d'informations sur les deux fichiers :

    Clients
    -> ID_clients
    -> Libelle_clients

    Partenaires
    -> ID_partenaires
    -> Libelle_partenaires
    -> ID_clients

    Contrainte d'intégrité 1,1 entre Clients et Partenaires

  4. #4
    Membre émérite
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    999
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 999
    Points : 2 525
    Points
    2 525
    Par défaut
    Tu ne crois pas qu'en renseignant ID_clients
    de ton fichier partenaire ça irait mieux ?
    Heureusement que Frenchsting t'a demandé un complément d'infos
    sinon moi non plus je ne peux rien faire.
    Mais cherchez un peu les gars, avant de poser des questions.
    C'est basique, ça, non ?
    C'est ton analyse après tout.
    T'as du pot que des couillons (moi compris) est du temps à perdre.

  5. #5
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut
    Non ca ne fonctionne pas mieux malheureusement !

    C'est un ID_auto donc voila le problème est pas aussi évident que tu crois...

  6. #6
    Membre émérite
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    999
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 999
    Points : 2 525
    Points
    2 525
    Par défaut
    Clients.ID_clients=xlsDonnée(IDFichierXLS,i,1)
    Donc :
    Partenaires.ID_clients=xlsDonnée(IDFichierXLS,i,1)

    Partenaires.ID_clients ne peut pas être un indentifiant auto
    sinon gros problème dans l'analyse.


    Il me semble que c'est évident.

    Sinon, j'ai rien compris, et alors mea culpa.

  7. #7
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut
    Arf!! en fait c'est plus compliqué que cela...

    Mon fichier "Clients" possède comme clé unique et auto-increment : IDClients_Partenaires. Et cette clé n'est donc pas dans le fichier Excel.

    Avec deux champs :
    -> ID_clients
    -> ID_partenaires

    Mon fichier "Partenaires" possède comme clé unique et auto-increment :
    ID_partenaires. Cette clé n'est donc pas dans le fichier Excel.

    Avec deux champs :
    -> Libelle_partenaires
    -> ID_clients

  8. #8
    Membre émérite
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    999
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 999
    Points : 2 525
    Points
    2 525
    Par défaut
    C'est bien ce que je disais, analyse à revoir...
    Et puis, peut-être, un petit (même grand) tour dans l'autoformation.
    L'analyse c'est les fondations !

  9. #9
    Membre éprouvé

    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    402
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 402
    Points : 915
    Points
    915
    Par défaut
    Dans le hajoute il faut forcer l'IDAUTO
    Hajoute(client,hforceIDAuto)

  10. #10
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par Atsibat Voir le message
    Dans le hajoute il faut forcer l'IDAUTO
    Hajoute(client,hforceIDAuto)
    Bonjour Atsibat,

    Je vais essayer ta solution !

    Merci !

  11. #11
    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
    Attention quand tu forces l'id !!! Cela peut entrainer des surprises. Il vaut mieux faire le hajoute(clients). Le système HF attribue un ID auto et de là tu peux faire un Partenaires.ID_clients = Clients.ID_clients.
    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

  12. #12
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Attention quand tu forces l'id !!! Cela peut entrainer des surprises. Il vaut mieux faire le hajoute(clients). Le système HF attribue un ID auto et de là tu peux faire un Partenaires.ID_clients = Clients.ID_clients.
    Bonjour Frenchsting,

    Le code suivant fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Hajoute(clients)
    Partenaires.ID_clients = Clients.ID_clients
    Merci !

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Visiblement, la consommation en mémoire RAM de xlsOuvre est énorme... J'en ai fait les "frais" dans l'après-midi.

  14. #14
    Membre averti
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    256
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2010
    Messages : 256
    Points : 435
    Points
    435
    Par défaut
    Bonjour,

    De mémoire, on peut lire une feuille Excel à l'aide d'une connexion
    et d'une requête SQL.
    Je ne sais pas si c'est plus performant, il y a longtemps que je
    ne l'ai pas fait...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exportation des données dans un fichier Excel
    Par Koukouknizou dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 14/07/2007, 14h22
  2. Réponses: 1
    Dernier message: 14/05/2007, 14h52
  3. Réponses: 1
    Dernier message: 09/05/2007, 23h10
  4. updater des données dans mon fichier excel
    Par gantec dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 26/02/2007, 16h01
  5. Réponses: 6
    Dernier message: 08/12/2006, 13h07

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