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 :

dbgrid pour detail facture


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 83
    Points : 60
    Points
    60
    Par défaut dbgrid pour detail facture
    Bonjour,

    J'ai regardé dans tous le forum mais je ne trouve pas la réponse à ma question .
    Mon problème c'est le remplissage d'un dbgrid.
    J'ai une table article avec des enregistrements. Je lie le dbgrid au query.
    Avec une requête, je sélectionne l'article et il l'affiche dans mon dbgrid, jusque là pas de problème. Mais lorsque je veux ajouter un second article à mon dbgrid ( une autre requête car c'est un autre article), il m'écrase le premier article.
    Comment faire pour rajouter autant d'article qu'on veut si ils sont différents?
    Y'a-t-il une option pour faire un ajout dans un dbgrid ?
    Est ce que c'est bien un dbgrid qu'il faut utiliser ?


    merci à tous

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    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 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Les dbgrid ne contiennent aucune données, c'est la source de données qui les possède (pour ton cas c'est le Query)
    Donc dans le foncitonnement que tu décris c'est tout a fait normal que l'ancien article disparaisse.

    Il serait bien que tu indiques exactement ce que tu veux faire (le but de la partie que tu developpes).
    Modérateur Delphi

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

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 83
    Points : 60
    Points
    60
    Par défaut
    salut malatar, merci pour ton message..

    ce que je veux faire c'estquelque chose de standard, je selectionne un article ( avec un query) et il doit l'afficher dans le dbgrid, et ensuite je veux rajouter un autre article ( autre query) pour le rajouter au dbgrid

    ce que je veux faire c'est une sorte de tableau qui reprend tous les articles que le client veut acheter ( le détail de la commande) , alors pour ce problème , je sais pas si c'est bien dbgrid qu'il faut utiliser ou stringgrid, ou autre , je sais pas ...

  4. #4
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    utilise plutot un TTable avec une relation maitre détail au lieu du TQuery

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 83
    Points : 60
    Points
    60
    Par défaut
    mais comment ? excuse moi, je débute!
    j'ai déjà ma table article, avec tout les enregistrement.
    Comment je dois faire pour selectionner un article si je n'est pas de query?
    mon tableau ( dbgrid) ca doit etre une nouvelle table?? c'est ca que tu veux dire? tu n'aurais pas un exemple? je suis en train de galèré

    merci encore d'essayer de m'aider

    a+

  6. #6
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    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 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Déjà il te faut travailler sur plusieurs tables car ce que tu veux faire avec une seule table c'est pas le top ^^

    Je te donne un exemple et toi tu feras comme bon te semble apres ^^

    Ex:

    Je considère que le logiciel sera utilisé par une seule personne pour le moment, après faudrat que tu ajustes selon ^^

    - 3 tables :

    Article (IdArticle,Description,PUHT, etc ...) : liste de tous les articles

    Commande (IdClient,IdCommande,Description,etc ...) : liste des commandes par clients

    CommandeArticle (IdCommande,IdArticle,Quantite, etc ...) : Liste des articles de la commande.

    A partir de ces trois tables tu peux facilement faire une commande pour un client.

    1- Tu crées la commande -> Table commande
    2- Tu sélectionnes un article -> Table article
    3- Tu ajoutes l'article à la commande -> Table CommandeArticle avec IdCommande = à celui de la table Commande et idArticle = à celui de la table article.
    4- Refaire 3 aussi souvent que nécessaire.
    5- Fin

    Voila ne gros un fonctionnement simple
    Modérateur Delphi

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

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 83
    Points : 60
    Points
    60
    Par défaut
    salut malatar ,
    merci pour ton conseil, je l'ai suivi et ca marche

    mais j'ai encore un petit problème au niveau du dbgrid .
    J'aimerais qu'il affiche une colonne qui ne se trouve pas dans la table CommandeArticle ( exemple, le total qui est un calcul du prix et quantité), sait on le faire ou bien faut-il rajouter rajouter un champ à la table ??

    encore merci

  8. #8
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    salut,
    tu peux ajouter un champ calculé au niveau de ton composant Table (voir aide delphi), ou alors tu utilises une requête comprenant un champ calculé pour ton champ total.

Discussions similaires

  1. Utilisation d'un DBGrid pour la saisie des données
    Par amtdev dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/02/2008, 09h17
  2. Améliorer la DBGrid pour Delphi
    Par zaping83 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/01/2008, 08h51
  3. Réponses: 5
    Dernier message: 04/05/2006, 15h38
  4. Réponses: 9
    Dernier message: 02/05/2006, 21h17
  5. DbGrid Maitre/detail
    Par Fxg dans le forum Bases de données
    Réponses: 1
    Dernier message: 21/02/2006, 21h27

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