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 :

Gestion de table dynamique access avec delphi 7


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2003
    Messages : 29
    Points : 29
    Points
    29
    Par défaut Gestion de table dynamique access avec delphi 7
    Hello!
    Alors now j'arrive a me connecter avec ADO et sa fonctionne bien! J'ai fait quelques tests pour afficher une table c'est nickel!
    Le truc maintenant c'est que mes table sont liées Est-ce qu'il existe un moyen "simple" pour gérer cela ou bien est-ce qu'il faut ouvrir 1 connexion avec plusieur "connexions" a mes tables? Mais apres je fais comment pour gérer les liaisons?
    Par exemple si j'ai une personne dont l'ID est 3 et que j'aimerais afficher toutes les commande qu'elle a effectué entre les xx.xx.2004 et le yy.yy.2004? Je peut récuperer l'id et demander a ce que cela m'affiches les commande correspondante?

    Merci bien!
    @++

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Points : 1 561
    Points
    1 561
    Par défaut
    Bonjour,

    Excuse moi mais j'ai un peu de mal à comprendre ta question.
    Qu'appelles-tu liaison, et tables liées ?


    Fait un petit tour vers la FAQ

    http://delphi.developpez.com/faq/?page=bdddivers
    Pensez à utiliser les tags dans le titre.
    Avant de poser une question reportez-vous à la FAQ Delphi
    Respectez les règles du forum.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2003
    Messages : 29
    Points : 29
    Points
    29
    Par défaut
    je veut dire que j'ai par exemple une table contenant des personnes dont les champs sont par exemple ID_personne, nom, prenom, age,... et j'ai une table commande ou les champs sont : ID_Commande, ID_personne, date_commande.
    La liaison est donc entre les deux table via les ID_personne. Comme ca, je peut avoir plusieurs commande pour une seule personne! Et cela me permet d'inserer juste l'id de la personne dans la table des commande au lien d'entre toute ces donnée a chaque fois! C'est ce qu'on appelle les liaison!

  4. #4
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Points : 1 561
    Points
    1 561
    Par défaut
    Donc je te conseille de passer à SQL.

    Utilisation TADOQuery, TADOCommand, non ?

    Avec TADOCommand vas voir là

    http://www.developpez.net/forums/viewtopic.php?t=176745
    Pensez à utiliser les tags dans le titre.
    Avant de poser une question reportez-vous à la FAQ Delphi
    Respectez les règles du forum.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2003
    Messages : 29
    Points : 29
    Points
    29
    Par défaut
    euh... Tu entends quoi par SQL? Créer des tables SQL ou bien juste en utiliser les requêtes? TU sais ou je peut trouver un tuto la dessus?

  6. #6
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 66
    Points : 78
    Points
    78
    Par défaut
    Le concepteur de liaison de champs est un moyen visuel de lier des tables maître et détail.
    En mode conception, placez un objet TDataSource sur la fiche et définissez une source de données. Sélectionnez le composant table et double-cliquez sur la propriété MasterFields, dans l'inspecteur d'objets, pour appeler le concepteur de liaison de champs.

    Boîte à options Index disponibles

    La boîte à options Index disponibles montre les index sélectionnés pour joindre les tables. Sauf si vous spécifiez un autre index dans la propriété IndexName de la table, l'index par défaut est l'index primaire de la table. D'autres index définis sur la table peuvent être sélectionnés dans la liste déroulante.
    Pour lier des tables maître et détail*:

    1 Sélectionnez le champ à utiliser pour lier la table détail dans la
    liste Champs détail.
    2 Sélectionnez le champ à utiliser pour lier la table maître dans la liste
    Champs maître.
    3 Choisissez Ajouter.

    Les champs sélectionnés sont affichés dans la boîte liste Champs joints. Par exemple*:
    OrderNo -> OrderNo

  8. #8
    Membre émérite
    Avatar de NoisetteProd
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    1 905
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 905
    Points : 2 614
    Points
    2 614
    Par défaut
    La solution est d'utiliser des ADOquery dans lesquels tu passes tes requètes SQL.

    Ca te permet avec les jointures, de visualiser plusieurs table dans une seule DBGrid par exemple.

    Tu peux faire une DBGrid avec une colone 'Nom client' et une colonne 'Achat'. Tu mets dans dans la propiété SQL de ton ADOQuery :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT T_PRODUIT.*, T_Acheteur.NOM
    FROM T_CATEGORIE RIGHT JOIN T_PRODUIT ON T_Acheteur.ID_Acheteur = T_PRODUIT.ID_Acheteur;
    Pour trouver comment écrire tes requètes SQL : exellent cours SQL complet

    Bon courage
    Fais cogiter ta Noisette !!

    Participez à la page SOURCES Delphi !

    Découvrez le Défi Delphi

    Mon Mail

Discussions similaires

  1. Requête SQL : Jointure sur 3 tables - Bd Access 1997 & Delphi 7
    Par Didier100 dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/12/2007, 09h57
  2. exporter le contenu d'une table access avec delphi 2006
    Par alexdfr dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/09/2006, 13h29
  3. BD access avec Delphi ?
    Par ouldfella dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/03/2006, 23h15
  4. Créer une base Access avec Delphi
    Par Oluha dans le forum Bases de données
    Réponses: 3
    Dernier message: 11/10/2005, 16h55
  5. Erreur de lecture sur BD Access avec delphi
    Par e120650 dans le forum Bases de données
    Réponses: 1
    Dernier message: 10/06/2005, 10h17

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