• Advertisement

Importation de données Excel vers une table WINDEV 16

Tout ce qui concerne la version 11 & plus récentes de windev

**Windev est une marque déposée de Pcsoft**

Importation de données Excel vers une table WINDEV 16

Messagepar titi68 » Jeu Juil 14, 2011 12:41 pm

Bonjour,

j'ai créé un fichier qui s'appelle "ARTICLE" dans lequel je désire importer des données venant d'un fichier EXCEL.
j'ai créé dans ma FEN_ARTICLE un BTN "Tranfert Excel".
j'y ai mis le code suivant:

Code: Tout sélectionner
// mise en place d'un code pour importer les données d'un fichier EXCEL vers une table WINDEV
t est un entier
MaFeuille est un xlsDocument
NomFichierXls est une chaîne
NomFichierXls = fSélecteur(fRepExe(), "", ...
"Sélectionnez un fichier...", ...
"Tous fichiers (*.*)"+TAB+"*.*", "*", fselOuvre + fselExiste)
SI NomFichierXls = "" ALORS RETOUR
MaFeuille = xlsOuvre(NomFichierXls)

nligne est un entier
nligne = xlsNbLigne(MaFeuille)
// nous partirons de la ligne 2 pour ne pas prendre en compte les entêtes de colonne.
POUR t = 2 A nligne
   
   Article.Famille = xlsDonnée(MaFeuille,t,1)
   Article.Ref = xlsDonnée(MaFeuille,t,2)
   Article.Descrip= xlsDonnée(MaFeuille,t,3)
   Article.Numsérie=xlsDonnée(MaFeuille,t,4)
   Article.Qtéstockinit=xlsDonnée(MaFeuille,t,5)
   Article.photo=xlsDonnée(MaFeuille,t,6)
   Article.Fichier=xlsDonnée(MaFeuille,t,7)
   Article.Observation=xlsDonnée(MaFeuille,t,8)

HAjoute(Article)
FIN

Mon soucis est que lorsque que je clique sur le bouton il importe correctement les données, mais si je rajoute une ou plusieurs lignes dans mon fichier Excel, lorsque que j'importe les données vers ma table, il me recopie de nouveau toutes les lignes en plus de mes lignes ajoutées, ce qui me crée des doublons.

Je me suis dit que si j'utilisais :
Code: Tout sélectionner
SI HTrouve(Article)=Faux ALORS
HAjoute(Article)
FIN


mais je ne sais pas comment écrire mon code pour dire que si l'article existe, il ne doit pas le créer
j'ai voulu essayer Hgèredoublon, mais cela ne fonctionne pas.

Pouvez-vous m'aider pour continuer mon code en me donnant la direction à prendre.

Merci d'avance
titi68
Membre
 
Messages: 36
Inscription: Sam Mai 21, 2011 7:59 pm

Advertisement

Re: Importation de données Excel vers une table WINDEV 16

Messagepar dedale » Jeu Juil 14, 2011 12:46 pm

hello , ton fichier contient il une clé unique existant aussi dans ton fichier excel ? Si oui, tu dois faire pour chaque enregistrement un hlitrecherchepremier sur cet id, si pas htrouve alors hajoute.

tout simplement.

Si par contre, tu as mis une clé auto, je te conseille de l'enlever, de créer une clé composé unique avec certaine de tes données et de répéter la manoeuvre vu précédemment.
Informatique : Alliance d'un science inexacte et d'une activité humaine faillible.
dedale
Membre Confirmé
 
Messages: 314
Inscription: Ven Oct 31, 2008 4:40 pm

Re: Importation de données Excel vers une table WINDEV 16

Messagepar titi68 » Jeu Juil 14, 2011 1:04 pm

Merci je vais essayer ta deuxième solution, car je n'ai pas de clé unique dans Excel.

slts
titi68
Membre
 
Messages: 36
Inscription: Sam Mai 21, 2011 7:59 pm

Re: Importation de données Excel vers une table WINDEV 16

Messagepar titi68 » Mar Juil 19, 2011 6:16 pm

Problème résolu en utilsant HsurErreur.
titi68
Membre
 
Messages: 36
Inscription: Sam Mai 21, 2011 7:59 pm



  • Advertisement

Retourner vers Forum windev 11 & plus récentes

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités