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 :

[Windev 11] Manipulation dynamique de LiaisonFichier


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Par défaut [Windev 11] Manipulation dynamique de LiaisonFichier
    Bonjour,

    Je cherche à manipuler dynamiquement les liaisons d'une table.
    Je veux en fait créer une fenêtre qui soit capable de gérer plusieurs tables ayant la même structure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    gsTableEnCours = "Fction"
    TABLE_Param..FichierParcouru = gsTableEnCours
    TABLE_Param.COL_ID..LiaisonFichier = Fction.Fction_ID
    TABLE_Param.COL_Valide..LiaisonFichier = Fction.Fction_Valide
    TABLE_Param.COL_Code..LiaisonFichier = Fction.Fction_Code
    TABLE_Param.COL_Lib..LiaisonFichier = Fction.Fction_Lib
    HFiltre(gsTableEnCours,gsTableEnCours+"_ID",0,999999999,gsTableEnCours+"_Valide  <= 2")
    TableAffiche(MoiMême)
    Ceci est mon code pour l'instant, mais je ne comprends pas ce qui cloche.
    La table affiche des #### une fois ce code éxecuté.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Par défaut
    Ce ne serait pas plus simple d'utiliser les plans ?

  3. #3
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Par défaut
    Pas glop les plans!
    Je voudrais une fenêtre qui sache gérer plusieurs fichiers (les fichiers de paramêtres en fait, et ils sont assez nombreux)
    Tous mes fichiers de paramêtres ont la même structure:
    <NomFichier>_ID
    <NomFichier>_Valide
    <NomFichier>_Code
    <NomFichier>_Lib
    Ces fichiers sont indépendant les uns des autres.
    Le but est que je passe le <NomFichier> à ma fenêtre, et qu'elle gère le fichier completement.

    C'est pourquoi je dis: pas glop les plans. Dans le cas extreme où je ne pourrais pas du tout gérer plusieurs fichiers dans une même fenêtre, je ferais plusieurs fenêtres.

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Par défaut
    Ok
    Ça ne devrait pas poser de problème, mais il ne faut évidemment pas une table liée.
    Parmi les solutions possibles, un requête avec le nom de fichier en paramètre de la requête.

  5. #5
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Par défaut
    C'est ce que j'ai fait au début, et puis je me suis dit
    Citation Envoyé par Moimême
    Mais pourquoi ne pas utiliser les tables liées
    Puisque en fait toutes les fonctionnalités sont déjà prêtes.
    J'ai donc créé une table, liée à ma table Fction
    Pour l'instant je change ma table dans le code, mais je remets bien la même chose qu'avant (en gros, pour les premiers tests je ré-écris Fction)
    J'ai commencé à le faire par le code, et je pense que ça va être bcp plus long.
    Par contre, si tu as une explication sur "pourquoi ça ne fonctionne pas avec les liaisons?" je suis preneur.

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Par défaut
    En fait, le code pour remplir la liste est prêt, mais je ne vois pas bien comment faire pour la mise à jour des données:
    Ma table ne sert qu'en affichage, en haut de la fenêtre, et j'ai le détail en bas.
    Pour l'instant je remplis ma table comme ceci:
    Code déclarations globales de la fenêtre : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GLOBALE
    	gsTableEnCours est une chaîne 	//nom de la table que l'on est en train de traiter
    Code Initialisation de la fenêtre : 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
    sSQL est une chaîne
    sdQuery est une Source de Données
     
    gsTableEnCours = "Fction"
     
    sSQL = [
    	select %1_ID as ID,
    	%1_Valide as Valide,
    	%1_Code as Code,
    	%1_Lib as Lib
    	from %1
    	where %1_Valide in (1, 2)
    	order by 1 desc
    ]
    sSQL = ChaîneConstruit(sSQL,gsTableEnCours)
     
    HExécuteRequêteSQL(sdQuery,sSQL)
     
    HLitPremier()
    TANTQUE PAS HEnDehors()
    	TableInsèreLigne(TABLE_Param,1,sdQuery.ID,sdQuery.Valide,sdQuery.Code,sdQuery.Lib)
    	HLitSuivant()
    FIN
    Code Sélection d'une ligne de TABLE_Param : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    COMBO_Validite..Valeur = COL_Valide
    SAI_Code..Valeur = TABLE_Param.COL_Code
    SAI_Libellé..Valeur = TABLE_Param.COL_Libellé
    Par contre, le code que je ne trouve pas, étant donné que les champs ne sont plus liés aux données, c'est celui qui peut remplacer celui-çi:
    Code Sortie de SAI_Libellé : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Fction.Fction_Lib = MoiMême
    HModifie(Fction)
    TableAffiche(TABLE_Param,taCourantBandeau)

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

Discussions similaires

  1. Manipulation dynamique de contrôles
    Par BlackAlpha dans le forum VB.NET
    Réponses: 4
    Dernier message: 02/12/2013, 14h21
  2. Réponses: 5
    Dernier message: 15/03/2011, 10h23
  3. Réponses: 2
    Dernier message: 02/06/2009, 17h27
  4. Réponses: 2
    Dernier message: 17/01/2008, 11h47
  5. Réponses: 3
    Dernier message: 05/01/2007, 11h49

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