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 :

utilisation du composant " NeestedTable "


Sujet :

Bases de données Delphi

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut utilisation du composant " NeestedTable "
    bonjour à nos confrères programmeurs Delphi 06

    ma base de donées paradox 07 (BDE) est de type:Maitre/Détail.
    pour éditer des enregistrements dans la table détaille , il faut utiliser la table imbriquée "NeestedTable" et ce la nécessite une création d'un champ persistant de typeataset dans la table Maitre.

    Question:comment on peut éditer des enregistrements dans la table détaille
    qui ont correspondant à un seul enregistrement dans la table Maitre?.

    Aidez-moi ....

  2. #2
    Membre averti Avatar de Bejaia-In
    Inscrit en
    Avril 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 365
    Points : 392
    Points
    392
    Par défaut
    Ce n'est pas de cette façon qu'on construit une relation Maitre/Détail entre deux tables.

    Pour trouver une explication détaillée, allez dans l'aide Delphi et faite une recherche du titre suivant : Création de relations maître/détail.
    ....................................................................
    Aidez-vous... Dieu vous aideras et nous aussi..
    ....................................................................

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    salam
    j'ai aucun pb concernant la liaison maitre/détail
    mon pb :comment on utilise la table impriquée "NeestedTable" et surtout l'édition des données dans la table détaille.

  4. #4
    Membre averti Avatar de Bejaia-In
    Inscrit en
    Avril 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 365
    Points : 392
    Points
    392
    Par défaut
    Avec les bases de données Paradox, on n'utilise pas les champs imbriqués.(TNestedTable)
    Je vous copie ce qu'en dit l'aide de delphi :
    Accès aux données d'un ensemble de données imbriqué

    Normalement un champ ensemble de données n'est pas directement lié à un contrôle orienté données. En fait, comme un champ ensemble de données imbriqué n'est rien d'autre qu'un ensemble de données, vous utilisez un descendant de TDataSet pour accéder à ses données. Le type d'ensemble de données utilisé est déterminé par l'ensemble de données parent (celui possédant le champ ensemble de données). Par exemple, un ensemble de données BDE utilise TNestedTable pour représenter les données des champs ensemble de données, alors que les ensembles de données client utilisent d'autres ensembles de données client.

    Pour accéder aux données d'un champ ensemble de données :

    1 Créez un objet TDataSetField persistant en appelant l'éditeur de champ de l'ensemble de données parent.
    2 Créez un ensemble de données représentant les valeurs de ce champ ensemble de données. Il doit avoir un type compatible avec l'ensemble de données parent.
    3 Affectez à la propriété DataSetField de l'ensemble de données créé à l'étape 2 le champ ensemble de données persistant créé à l'étape 1.

    Si le champ ensemble de données imbriqué de l'enregistrement en cours possède une valeur, le composant ensemble de données détail contient des enregistrements avec les données imbriquées ; sinon, l'ensemble de données détail est vide.

    Avant d'insérer des enregistrements dans un ensemble de données imbriqué, vous devez avoir posté l'enregistrement correspondant dans la table maître, s'il vient juste d'être inséré. Si l'enregistrement inséré n'a pas été posté, il sera automatiquement posté avant que ne soit posté l'ensemble de données imbriqué.
    ....................................................................
    Aidez-vous... Dieu vous aideras et nous aussi..
    ....................................................................

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut aidez-moi
    salam
    pour l'instant, j'ai pas pu encore réaliser les démarches suivantes 1 et 2 :


    1 Créez un objet TDataSetField persistant en appelant l'éditeur de champ de l'ensemble de données parent.
    2 Créez un ensemble de données représentant les valeurs de ce champ ensemble de données. Il doit avoir un type compatible avec l'ensemble de données parent.

    n'oublier pas mon confrère que le champ persistant créé est un champ de type: ensembe de données, ce type de champ n'a aucun type compatible parmi les types de champs existant dans la table paradox.
    aider moi SVP.

  6. #6
    Membre averti Avatar de Bejaia-In
    Inscrit en
    Avril 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 365
    Points : 392
    Points
    392
    Par défaut
    Et si tu expliquais pourquoi tu dois utiliser un composant "NestedTable" ?
    peut-être qu'on te donneras une meilleur solution.
    ....................................................................
    Aidez-vous... Dieu vous aideras et nous aussi..
    ....................................................................

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    bonsoir mon confrère;
    Merci d'abord;
    j'insiste d'utiliser la table Imbriquée parceque ma base de données est de type: 0N----01
    J'ai de tableaux: Père-Maitre-[01] et fils-détail-[0N]
    sela nécessite que la table détaille est imbriquée dans la table Maitre.

  8. #8
    Membre averti Avatar de Bejaia-In
    Inscrit en
    Avril 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 365
    Points : 392
    Points
    392
    Par défaut
    Avec une base de données Paradox, tu n'as pas besoin de créer un champ "NestedTable" pour relier une table Maitre (un enregistrement) à une autre Détail (plusieurs enregistrements).
    Comme je te l'ai dit, pour trouver une explication détaillée, va dans l'aide Delphi et fait une recherche du titre suivant : "Création de relations maître/détail".
    ....................................................................
    Aidez-vous... Dieu vous aideras et nous aussi..
    ....................................................................

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut mise à jour d'une ralation Maitre/Détail
    salam

    Je vais essayer de reformuler ma question.

    La relation Maitre/Détail (un enregistrement Maitre lui correspondant un ensemble de données Détail) j’ai pu la réaliser mais mon problème c’est que j’ai pu seulement consulter mes données et je n’avais pas la possibilité de mettre à jour mes données (ajout/suppression), pour cela je me suis destiner au composant TNestedTable qui d’après sa description permet l’édition dans la relation Maitre /Détail.

    Alors comment peut-on mettre à jours une base de données de type: Maitre/Détail.

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