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

Composants VCL Delphi Discussion :

[D10.4.2] Firedac : perte de relation entre deux tables


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Responsable associatif
    Inscrit en
    Octobre 2005
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Responsable associatif

    Informations forums :
    Inscription : Octobre 2005
    Messages : 229
    Par défaut [D10.4.2] Firedac : perte de relation entre deux tables
    Bonjour,

    J’ai deux tables en relation Commandes et détails (base Firebird 3) reliées par un champ NUMCOM
    Une dbgrid permet de naviguer dans les commandes, et les détails s’affichent bien dans une deuxième grille et sont bien mis à jour à chaque mouvement dans les commandes. Jusque là tout va bien !

    La table commande est en auto-commit, la détails en cachedupdates.
    Si je modifie (ou ajoute) une nouvelle commande, tout est bien enregistré dans la BDD après le ApplyUpdate et commit, et la grille détails affiche bien ce qui a été modifié (ou ajouté) mais il semble que je perde la relation : en naviguant dans les commandes, la grille détails n’est plus mise à jour et reste figée sur le contenu de la dernière validation.
    J’ai essayé de faire un refresh, et même de fermer le query détails puis le rouvrir, rien n’y fait. Seul moyen de retrouver un bon affichage = fermer le programme et le relancer…

    Une idée ?
    Merci d'avance...

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 78
    Par défaut
    pour moi dans ces situations j'utilise des filtres comme suit:
    dans l’événement de la table commandes 'AfterScroll' mets le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TableCommandeDetails.filter:='NUMCOM='+TableCommande.fieldbyname('ID').AsString;
    TableCommandeDetails.filtred:=true;

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 714
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Moi je n'utilise pas de filtres mais des requêtes, pourquoi pas de filtres ? parce que qui dit filtre dit que la table détail entière doit être chargée et ça, ça ne me plait pas, ce qui était bon pour Paradox ne l'est pas pour Firebird.

    J’ai deux tables en relation Commandes et détails
    Ok mais quels composants et comment est faite la relation côté Delphi ? La réponse d'udinacer rend les choses troubles

  4. #4
    Membre éclairé
    Homme Profil pro
    Responsable associatif
    Inscrit en
    Octobre 2005
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Responsable associatif

    Informations forums :
    Inscription : Octobre 2005
    Messages : 229
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Ok mais quels composants et comment est faite la relation côté Delphi ? La réponse d'udinacer rend les choses troubles
    Deux FdQuery, un sur la table commandes (elle-même reliée de la même manière à une table clients), et l'autre sur la table détails. Le lien est fait "classiquement" par Mastersource et Masterfield 'NUMCOM'
    Nom : Capture3.JPG
Affichages : 135
Taille : 12,4 Ko
    En consultation aucun problème, tout se passe bien. Je vais essayer de passer sans cachedupdate pour voir si ça change quelque chose, mais je n'y crois pas car la transaction se fait bien dans la BDD.

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 714
    Billets dans le blog
    65
    Par défaut
    Bon dans ce cas, je suis plus en terre connue.
    Le fait que vous vouliez utiliser cachedUpdate veux dire que vous voulez pouvoir faire des modifications sur la table détail ?
    Ne passant pas par les caches, dans ce cas j'utilise des FDUpdateSQL

  6. #6
    Membre éclairé
    Homme Profil pro
    Responsable associatif
    Inscrit en
    Octobre 2005
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Responsable associatif

    Informations forums :
    Inscription : Octobre 2005
    Messages : 229
    Par défaut
    Bon alors là j'ai vraiment honte de vous avoir dérangé avec ce problème qui n'en est pas un !
    La validation passait par une routine de recalcul où un disablecontrols désactivait la grille mais "oubliait" de la réactiver..... Oh là là !

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

Discussions similaires

  1. [DEBUTANT]Problème de relation entre deux tables
    Par Yomane dans le forum Schéma
    Réponses: 2
    Dernier message: 20/10/2006, 02h30
  2. relation entre deux tables
    Par tojiji dans le forum Access
    Réponses: 6
    Dernier message: 04/07/2006, 15h44
  3. Problème de relation entre deux tables + autre chose
    Par Goth_sensei dans le forum Langage SQL
    Réponses: 7
    Dernier message: 30/03/2006, 21h49
  4. [XSD] Relation entre deux tables
    Par fd59 dans le forum Valider
    Réponses: 2
    Dernier message: 10/09/2005, 00h33
  5. Relation entre deux tables
    Par manel007 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 04/03/2005, 17h54

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