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

Bases de données Delphi Discussion :

Définir table Maître-Détail en runtime


Sujet :

Bases de données Delphi

  1. #1
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut Définir table Maître-Détail en runtime
    Salut à tous

    J'avoue ne pas comprendre ce qui se passe.
    Sur un DataModule, j'ai une tripotée de groupes TSQLTable - TDatasetProvider - TClientDataSet - TDataSource non liés (dans le sens: pas de maître-détail).
    Ce DataModule me sert pour créer et éditer. Autrement dit, si je crée, je laisse tel quel (i.e. non-lié) mais si j'édite je lie tous ces composants.
    Pour cela, j'ai fait ma petite routine:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    procedure TNewModifDossierDataModule.LinkDataBase(aTable: TSQLTable;
      aDataSource: TDataSource; const aFieldName: String);
    begin
      aTable.MasterSource := nil;
      aTable.MasterFields := aFieldName;
      aTable.IndexFieldNames := aFieldName;
      aTable.MasterSource := aDataSource;
    end;
    et je lie toutes mes Tables en runtime.
    Seulement, ça ne fonctionne absolument pas ! J'ai mis des DBGrid de test et aucune ne réagit lorsque je sélectionne un autre enregistrement...
    Ai-je oublié quelque chose ?
    Est-ce seulement possible de lier des tables en runtime ?
    Ne vaudrait-il pas mieux spécifier le Master sur le TClientDataset ?
    Est-ce que ma méthode, à la base, est mauvaise ?

    Encore des subtilités des bases de données que je ne maîtrise absolument pas...

    Merci d'avance!
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  2. #2
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Je viens d'essayer en fermant d'abord toutes les tables et TClientDataset, en spécifiant les relations Maître-Détail, puis en réactivant tout, j'ai maintenant une erreur:
    Le projet Pluton.exe a déclenché la classe d'exception TDBXError avec le message 'dbExpress driver does not support the TDBXTypes.UNKNOWN data type. Vendor error message: unknown ISC error 0.'.
    Joie.
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  3. #3
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Bon ben à première vue, spécifier le maître au TClientDataSet fonctionne... Assez étonnant puisque dans d'autres DataModules, je passe par la TSQLTable... Enfin bref, ça marche, c'est le principal !
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

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

Discussions similaires

  1. [WD17] tables maître/ détail ,Windev17
    Par futur_ingenieur dans le forum WinDev
    Réponses: 10
    Dernier message: 22/08/2013, 05h24
  2. Maître/Détail avec plusieurs tables
    Par delphinauxdz dans le forum Bases de données
    Réponses: 2
    Dernier message: 26/09/2007, 11h41
  3. Supprimer champ dans table maître avec tous détails clients
    Par dj_techno dans le forum Bases de données
    Réponses: 35
    Dernier message: 15/02/2007, 16h40
  4. Generateur IB et table Maître Détail
    Par 2icd dans le forum InterBase
    Réponses: 19
    Dernier message: 06/01/2006, 22h34
  5. [paradox] Post tables maître détail
    Par delphicrous dans le forum Bases de données
    Réponses: 1
    Dernier message: 23/09/2004, 11h28

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