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

 Delphi Discussion :

DBLookupCombobox et relation n,m sous access


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Par défaut DBLookupCombobox et relation n,m sous access
    bonjour,

    Je cherche a developpé une interface pour une base de donnée sous Access avec Delhi6.

    Exposé de la problèmatique :

    Actuellement ma base est constituée de 5 tables associées aux differents data set :
    Dataset_personne composé de ID_personne (clé primaire) et d'autres champs
    Dataset_observe composé de ID (Clé primaire),ID_personne,ID_Action,Observation_qualite
    Dataset_action composé de ID_Action (Clé primaire) et d'autres champs
    Dataset_participe composé de ID (Clé primaire) ,ID_animal,ID_Action,faitquoi
    Dataset_animal composé de ID_Animal (cle primaire) et d'autres champs

    La table observe permet d'obtenir une relation n,m entre personne et action.
    La table participe permet d'obtenir une relation n,m entre animal et action.
    Nota je n'ai pas encore relie les tables avec les liens sous Access

    Exposé du problème :

    Actuellement, je cherche a remplir ma base de donnée (mes tables) en utilisant l'interface Delphi

    Pour les tables personne et animal. J'utilise DBnavigator et DBEDIT sans probleme.

    Maintenant, je cherche une solution élégante pour remplir simultanement les table action,observe et participe qui sont reliees.
    J'ai placé un DB_Navigator relié a Dataset_Action et je souhaite pouvoir rajouter un record avec les observateurs et animaux associésen utilisant :
    - bouton insert du DB Navigator
    - des DBEDIT et des combobox pour les champs action
    - des DBlookupcombox sur personne et animal pour limiter le choix des utilisateurs
    - des checklist pour rajouter des observateurs ou des animaux


    Malgrés mes recherches sur le forum et la faq je n'ai pas trouvé de solution pour gérer la relation n,m ?? Et comment utiliser les fonctions post et insert du DBNavigator relie a action pour remplir 3 tables simultanement.

    J'ai bien essayé d'integrer des choses dans TMainForm.DBNavigator1Click(Sender: TObject;Button: TNavigateBtn);

    Mais sans succés...

    Si quelqu'un a des idées ou exemples dont je pourrai m'inspirer ??

    Merci

    Guillaume

  2. #2
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Par défaut
    Bonjour,

    Bon je vois que cette problematique n'attire pas les foules ...

    De mon coté j'ai avancé un peu, je reste avec la même problématique d'utiliser la fonction insert ou post du DBNAVIGATOR de la table action pour agir sur mes deux autres tables . Cela semble incompatible ... Pourquoi ???

    Faut il que j'abandonne cette opcion ?

    Faut il que j'ouvre ce poste dans Delphi Base de donnée ?

    Des idees ?

    Merci de vos conseils.

    Guillaume

    Guillaume

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Citation Envoyé par gblancha Voir le message
    Malgrés mes recherches sur le forum et la faq je n'ai pas trouvé de solution pour gérer la relation n,m ?? Et comment utiliser les fonctions post et insert du DBNavigator relie a action pour remplir 3 tables simultanement.
    As tu testé de lier tes composants table en Maitre/Détail ?

    Citation Envoyé par gblancha Voir le message
    J'ai bien essayé d'integrer des choses dans TMainForm.DBNavigator1Click(Sender: TObject;Button: TNavigateBtn);

    Mais sans succés...
    Peux tu montrer le code que tu as essayé d'implémenter ?
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Par défaut
    Bonjour,

    Merci Rayek pour ta reponse. Je n'ai pas essaye ce que tu me proposes par manque de connaissance des proprietes des composants . Je vais regarder cela.

    Je posterai du code plus tard car je n'ai pas acces a mon PC en ce moment.

    Merci encore

    Guillaume

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Par défaut
    Voici la zone de code qui me cause probleme

    Sachant que le DBNavigator est relié a EVENT :

    Code : 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
    24
    25
    26
    procedure TMainForm.DBNavigator1Click(Sender: TObject;
      Button: TNavigateBtn);
    var index:integer;
    begin
    case Button of
          nbInsert : begin
                      ..........
                        end;//nbinsert
            nbPost   : begin                
                     with ADOT_OBSERVE do begin
                       open;
                       last;
                       insert;
                       Fields[1]:=EVENT.Fields[0];
                       Index := DBLookUp_Observer.ListSource.Dataset.fieldByName('ID_OBSERVER').asinteger;
                       Fields[2].asinteger:=index;
                       Fields[3].asstring:=Combobox13.text;
                       Index := DBLookUp_Obs_where.ListSource.Dataset.fieldByName('ID_OBSERVER_WHERE').asinteger;
                       Fields[4].asinteger:=Index;
                       post;
                       close;
                     end;
                   end;// nbpost
          end;
     
    end;
    Guillaume

Discussions similaires

  1. [AC-2003] Relation ternaire sous Access
    Par Jojo____ dans le forum Modélisation
    Réponses: 3
    Dernier message: 11/04/2012, 16h12
  2. Formules et relations de tables sous access
    Par Dizzy84 dans le forum Access
    Réponses: 5
    Dernier message: 18/03/2011, 18h24
  3. Réponses: 6
    Dernier message: 23/12/2007, 14h06
  4. [Debutant] Relation sous ACCESS
    Par benjiprog dans le forum Modélisation
    Réponses: 9
    Dernier message: 10/07/2007, 09h47
  5. Réponses: 5
    Dernier message: 29/03/2007, 16h00

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