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 :

[ WinDev10 ][ Débutant ] Problèmes de gestion des tables


Sujet :

WinDev

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 42
    Points : 26
    Points
    26
    Par défaut [ WinDev10 ][ Débutant ] Problèmes de gestion des tables
    Bonjour à tous,

    Je suis débutant en WinDev depuis une semaine mais malgré la lecture du livre d'Auto Formation ainsi que celle de plusieurs tuto du net, certains points - élémentaires - restent encore assez obscures.
    Parmis ceux-ci, c'est l'interaction avec les champs table qui va m'interresser ici.

    Ma première question concerne la différance entre une table mémoire et une table fichier. Si j'ai bien comprit il s'agit du même champ mais dans le premier cas on la remplis par programmation tandis que dans le deuxième on lui assigne un fichier à parcourir, c'est exact ?

    Pour ceux deux méthodes j'ai obtenus des résultat corrects mais toujours dans le cas d'applications spécifiques et j'ai du mal à les réemployer... Ce qui implique un manque de compréhansion de ma part à se sujet.

    Bref, pour ce qui concerne les tables remplies par programmation, voici ce qui est pour moi les codes à utiliser, pouvez vous me les corriger le cas echéant ? (ils concernent une application simple qui possède une table Table_Client et un fichier Client décrit par Nom, Prenom, Age et un identifiant automatique)

    Initialisation de la table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TableSupprimeTout(TABLE_Client)
    HLitPremier(Client,IDClient)
    TANTQUE PAS HEnDehors
    	TableAjouteLigne(TABLE_Client,COL_Nom,COL_Prenom,COL_Age)
    	HLitSuivant(Client)
    FIN
    Ce code est placé ensuite dans une procedure "PROC_Init"

    Ajouter un enregistrement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    EcranVersFichier(FEN_table)
    HAjoute(Client)
    PROC_Init()
    Suppression d'un enregistrement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HSupprime(Client,hNumEnrEnCours)
    PROC_Init()
    Mais ces code ne sont pas satisfaisant car la table n'est pas initialisée au démarage correctement (le premier enregistrement ajouté est affiché une fois en premier, une fois en dernier O_o) et le rafraichissement de la table ne s'effectue jamais...
    Pas top quoi.

    Quels sont les codes "standart" pour ce type de traitements si ce ne sont pas ceux là ?

    Merci d'avance !

  2. #2
    Expert éminent sénior

    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
    Points : 32 889
    Points
    32 889
    Par défaut
    Une remarque avant d'aller plus loin :
    Comme vous le remarquez vous-même, une Table Ficher est une table liée à un fichier et une Table Mémoire est une table de données "libres" non liées à un fichier.

    Or, dans l'exemple qui vous pose problème, vous manipulez une Table Ficher comme une table mémoire ?
    Lors de l'utilisation d'une Table Ficher, vous ne devez pas ajouter les éléments du fichier à la Table, c'est automatique.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 42
    Points : 26
    Points
    26
    Par défaut
    Hum... Mon code doit être très mauvais parsque dans mon exemple je manipule une table mémoire et donc non liée à un fichier...

    Pour lier une table à un fichier je doit le faire soit via l'onglet "Contenu" de la dascription de la table soit lors de la création non ? Car j'ai bien choisis de ne pas lier la table.

    J'utilise des instruction spécifique aux table fichier alors ? Quels sont elles ? Je confond visiblement totalement les deux sorte de tables...

  4. #4
    Expert éminent sénior

    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
    Points : 32 889
    Points
    32 889
    Par défaut
    Le code de remplissage manuel d'une table ne doit théoriquement pas être utilisé pour une table fichier, elle est remplie automatiquement.
    Si la table ne doit pas inclure tous les enregistrements du fichier, il faut utiliser une requète et une table sur requête (c'est définit lors de la création de la table)

    Ce qui me "gêne" dans ton code, c'est que tu remplis manuellement une table avec les données d'un fichier. Pourquoi ne pas utiliser une table fichier ?

Discussions similaires

  1. [DB400][Débutant]comprendre la gestion des processus actif
    Par horalass dans le forum Autres SGBD
    Réponses: 8
    Dernier message: 12/12/2006, 09h26
  2. [FLASH 8] Problème de gestion des clips.
    Par glingo dans le forum Flash
    Réponses: 4
    Dernier message: 09/03/2006, 16h17
  3. Problème d'affichage des tables
    Par talere dans le forum Access
    Réponses: 6
    Dernier message: 24/10/2005, 13h02
  4. [débutante] problème de validation des méta-tags
    Par silversky dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 13/09/2005, 17h26
  5. Gestion des Tables d'Object
    Par Laurent Dardenne dans le forum SQL
    Réponses: 27
    Dernier message: 17/04/2004, 12h39

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