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 :

Table liée à un fichier, en saisie, avec colonnes liées aussi à un autre fichier


Sujet :

WinDev

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 40
    Points : 27
    Points
    27
    Par défaut Table liée à un fichier, en saisie, avec colonnes liées aussi à un autre fichier
    Bonjour,

    J'ai le cas classique suivant:

    Saisie dans une table de lignes de facture:
    | Code article | Description | Quantité | Prix |

    Lorsqu'il est en saisie sur la colonne "Code article" (et/ou description) j'aimerai permettre à l'utilisateur de sélectionner un article (dans une liste reprenant le code+le libellé+le prix) depuis le fichier des articles.

    Comment procédez-vous SVP ?
    J'ai recherché un exemple dans les projets Windev mais n'en ai pas trouvé. IL y a bien la "gestion des commandes" mais la saisie ne se fait pas DANS une table mais bien sur une ligne séparée.

    Merci pour vos suggestions et vos conseils.

  2. #2
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 308
    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 308
    Points : 9 414
    Points
    9 414
    Par défaut
    Tu peux mettre ta colonne Code Article en combo. Celle-ci sera alimentée par la table Article.

    Je te conseille d'utiliser un id pour ta table article et de mémoriser plutôt cet id (et de le mettre en colonne cachée dans ton tableau).

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 198
    Points : 185
    Points
    185
    Par défaut
    Moi personnellement, je mets un bouton qui ouvre une fenetre a coté avec tous les articles. Quand il double clique sur un article, ca reprend les éléments dans la table de lignes de la facture.

    Un combo au niveau de la table facture directement n'est pas gérable. Ca va si ta base à 10 articles, mais ca le fait pas du tout si elle en a 50 ou plus, et je ne t'en parle pas si il y en a des milliers.

    J'ai une appli dans ce style qui fonctionne avec une base de 22000 articles, et le petit bouton qui appelle une table dans une fenetre en parallèle, ca le fait bien.

    Je rejoins frenchsting concernant l'id pour l'article, une petite colonne cachée avec l'id sur ta table facture sera très simple à gérer.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    Merci unkof et frenchsting,

    @frenchsting: Le problème du combo c'est qu'il ne peut y avoir qu'un seul champ dans la liste.

    @unkof: Je m'approche plutôt de votre philosophie. Vous mettez un bouton sur chaque ligne ou bien un bouton "externe" ??
    Pour l'ID j'avoue ne pas très bien comprendre. Dans ma ligne de facture (et donc dans la table) je dois mémoriser le code lui-même, mais sûrement que quelque chose m'échappe.
    Existe t-il un exemple Windev de ce type de saisie avec un bouton de type "liste" pour permettre le choix d'un élément à incorporer sur une ligne d'une table ?

    MERCI

  5. #5
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 308
    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 308
    Points : 9 414
    Points
    9 414
    Par défaut
    Exact : Tu ne peux pas mettre un tableau dans ta combo déroulée.

    L'ID te permet d'être indépendant de ton code article. Il arrive (malheureusement) que le service achat décde de renommer des articles...

    Le bouton serait extérieur à ton tableau.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 198
    Points : 185
    Points
    185
    Par défaut
    Ta base articles doit avoir un id du style autoincrément. Si elle n'en a pas, je t'encourage vivement à le rajouter.

    Dans ta table facture, tu mets une colonne cachée qui contient l'ID de ton article. Comme ca, en cas de changement de ton code article, tu le retrouveras sans problème et surtout sans erreur. Si tu utilises ton code article, et que ce code est changé à un moment donné, si tu fais une recherche d'articles avec le code article, tu ne retrouveras pas ton article ce qui t'amènera un erreur dans ta facture (ligne article manquante, total de la facture faux, ou total de la facture affichée ne correspondant à l'originale, et j'en passe ....).

    Pour le bouton, mets le à côté de ta table.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    Merci vous deux.

    Encore une petite question:
    J'ai donc ajouté un bouton à côté de la table pour la recherche d'un article (BTN_LISTE).
    J'ai créé une nouvelle fenetre avec un champ table pour permettre la sélection d'un article (FEN_listcodes).
    Quand on clic sur le bouton du "BTN_LISTE", j'ouvre la fenêtre "FEN_listcodes", mais maintenant comment récupère t-on dans la table la valeur de ce qui a été sélectionné dans la fenêtre "FEN_listcodes"?

    Désolé mais je débute...

    MERCI

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    932
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 932
    Points : 1 525
    Points
    1 525
    Par défaut
    Bonsoir
    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SI Ouvre(FEN_Vision_listcodes)=Vrai ALORS
     // Mettre à jour le champ correspondant
     SAI_Code_article = Articles.Code_article
    FIN

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 198
    Points : 185
    Points
    185
    Par défaut
    On va dire que :

    - Ta fenetre facture s'appelle FEN_factures
    - Ta table avec les lignes factures s'appelle T_lignesf
    - Ta fenetre articles s'appelle FEN_articles
    - Ta table avec les lignes articles s'appelle T_articles
    - Ton fichier articles s'appelle FIC_Articles
    - Ta table T_Articles est remplie par Fichier/Requete

    Tu fais un truc sur FEN_articles au double clic genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TableAjoute(FEN_factures.T_lignesf,FIC_Articles.IDArt+TAB+FIC_Articles.Designation+TAB+FIC_Articles.Prix)
    Ferme(FEN_articles)
    En gros, tu transmets d'une fenetre.table à une autre fenetre.table ...

    Si t'as acheté Windev, lis le bouquin d'Autoformation, ca te permettra de comprendre les trucs basics. Si t'as la version express, désolé, je ne sais pas ce qui est fourni d'origine avec comme doc ...

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    Merci pour vos réponses.

    J'ai la version "express".
    La documentation en ligne semble très bien faite, mais il faut savoir un peu où chercher...

    J'essayerai votre suggestion dès demain !

    Encore merci

  11. #11
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 451
    Points
    2 451
    Par défaut
    Bonsoir

    Le guide d'autoformation est fourni en standard avec les versions Express, au moins depuis la 15.

    "Évidemment".
    Hemgé

Discussions similaires

  1. [XL-2010] TCD avec SourceData variable depuis un autre fichier
    Par leto2109 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/09/2014, 17h23
  2. [WD18] afficher table mémoire avec colonne de type combo (sur fichier)
    Par fdelepine dans le forum WinDev
    Réponses: 9
    Dernier message: 08/09/2013, 19h35
  3. [XL-2010] liste de choix avec saisie semi auto à partir d'un autre fichier
    Par cornouaie dans le forum Excel
    Réponses: 6
    Dernier message: 02/05/2011, 13h28
  4. Réponses: 1
    Dernier message: 07/09/2010, 16h03
  5. Réponses: 1
    Dernier message: 08/10/2008, 15h30

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