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 :

Parcourir, récupérer et stocker les données d'une ListView et DataSet


Sujet :

Delphi

  1. #1
    Candidat au Club
    Femme Profil pro
    Ingenieur devloppement et réseaux
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingenieur devloppement et réseaux

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Parcourir, récupérer et stocker les données d'une ListView et DataSet
    Bonjour a tous....
    Voila mon problème j'ai trois tables crée sous sql server 2005, Intitulé comme suit facture, Produit, et detail facture(table intermédiaire entre produit et facture). pour sélectionner tout les produits facturées (une facture pour plusieurs produits) ,facture(num_fact, date,); produi(num_prod, designation, prix_u); detail(num_prod, num_fact, quantité)
    j'ai opter pour deux solutions soit crée une table en local(sous paradox par exemple) ou bien utiliser une listview juste pour stocker tout les produit à facturé... ce que je veux faire et le suivant

    1- parcourir le Dataset et Inserer ses donner dans une table detail
    2- parcourir listview et recuperer des données pour les enregistrer dans la table detail comme suit....

    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
    DBGrid1.DataSource.DataSet.First;
     
    while not DBGrid1.DataSource.DataSet.Eof do
     
    begin
     
    for i:=0 to DBGrid1.DataSource.DataSet.FieldCount-1 do
     
    begin
     
    adoquery1.active:=false;
     
    aDOQUERY1.parameters[0].value:=DBGrid1.DataSource.DataSet.Fields[i].AsString;
     
    ADOQUERY1.EXCECSQL;
     
    end;
     
    DBGrid1.DataSource.DataSet.Next;
     
    end;
    ou bien ..... aDOQUERY1.parameters[0].value:=listview.item ...


    pliiiiz Help Me mon premier code n'est pas complet(je veux parcourir recuper et stocker les donnees dans la table detail

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Bonjour et Bienvenue ,

    Je ne comprends pas trop le principe , même en lisant le code (qui aurait du être placé entre balises en utilisant le bouton #) .

    pour ce que j'en comprend , tous les produits sont affiché dans une DBGRID qu'ils soient facturés ou non ? (dans l'entreprise pour laquelle je travaille je n'ose imaginer ! plus de 6000 produits et je ne parle pas des couleurs et tailles )

    on ne voit même pas la Query d'insertion ! (ADOQuery1.ExecSQL), ça ne m'informe pas vraiment

    et enfin pourquoi passer , en prime par une table locale ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Candidat au Club
    Femme Profil pro
    Ingenieur devloppement et réseaux
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingenieur devloppement et réseaux

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Merci pour votre réponse.
    voila tellement que c'est un travail urgent que peut être je me suis mal exprimer, en bref je dois faire une petite application de facturation (une facture à plusieurs produit) voila je veux récupérer tout les produits choisi et les enregistre dans la table detail à laide de Adoquery quel est la meilleur solution(je valide la facture un foi que tous les produit sont sélectionnés ( utiliser une listeview pour afficher tous les produits sélectionnés.. peut être ) quel est la meilleur façon svp vue que vous avez une idée sur la facturation (c'est urgent pour moi)
    Merci d'avance.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Je procède de la manière suivante :
    Un écran (par exemple le panneau d'un TPageControl) pour l'entête de Facturation (Client, Adresse Facturation, Adresse de Livraison etc ...)
    Un écran qui affiche les lignes de facture (par exemple via un DBGrid en lecture seule)
    un écran qui permet de saisir les lignes de factures (un combobox permet de sélectionner le produit à facturer , ajout de la quantité , le prix peut être modifié , une remise ajoutée etc... là je simplifie dans le cas de mon application il y a en plus une grille de pointure )
    un écran Pied de facture (pour renseigner les modes de paiement , coordonnées bancaires etc ...)

    en Facturation plus simple (genre terminal de vente) il est possible bien sur de faire "plus simple" déjà il y a moins d'informations à remplir et pas dans le même ordre , cependant il y a un point commun , on ne propose pas une liste de Produits (dans le cas d'un terminal de vente , en général le produit est scanné ou saisi et controlé : existence , prix , stock?)

    En général donc pour une facturation on passe par une saisie de ligne (la seule 'aide' pour l'utilisateur , c'est la possibilité d'un combobox sur le produit , et encore ce n'est pas vraiment un bon choix car chercher dans une liste c'est long ! et généralement l'utilisateur sait quel produit il vend)
    Je suggère une DBGrid non modifiable (certaines grilles :TMS,smdbgrid permettent même de mettre des totaux en pied) sous laquelle on a une zone de saisie de ligne


    dans tous les cas le prix hors taxe , de même que le taux TVA est stocké dans la ligne détail , ces deux derniers peuvent changer au cours de l'exercice
    detail(num_prod, num_fact, quantité, Prix, taux_tva, %remise)
    pour une facturation également, souvent le numéro de ligne a son importance
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Candidat au Club
    Femme Profil pro
    Ingenieur devloppement et réseaux
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingenieur devloppement et réseaux

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Je vous remercie du temps que vous nous avez accordé, sa ma vraiment aider à éclaircir mes idées.

    Ce que je veux faire mnt c'est de stocker les produits choisie ds une listeview après les insérer ligne par ligne dans un table à laide d'un ADoQuery..
    donc je parcours listview et je récupéré les données et je les insert dans Adoquery( genre Adoquery1.parameters[0].value:=listview1.subitems[0]...)mais comme j'ai jamais travailler avec ce composant je ne sais pas comment y procéder ...jai chercher sur le net comment parcour et recupere les donner de list view

    Merci d’avance.

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par Rymyasmine Voir le message
    Ce que je veux faire mnt c'est de stocker les produits choisie ds une listeview après les insérer ligne par ligne dans un table à laide d'un ADoQuery..
    à mon avis cela n'a aucun sens !

    pour une facture :
    je crée l'entete de facture , je poste
    tant que j'ai des articles a facturer
    j'ajoute une ligne , je choisi l'article , indique la quantité etc ..., je poste
    et rafraichit l'ensemble des ligne détails de la Grille d'affichage
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  7. #7
    Candidat au Club
    Femme Profil pro
    Ingenieur devloppement et réseaux
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingenieur devloppement et réseaux

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Tout a fait d’accord avec vous d’ailleurs c'est ce que j'ai fait au début et sa a marcher à la perfection , mais mnt ils me demande de sélectionner tout les produits et les poster à la fois (car ils vont mettre lapplication sous réseau)..comment faire??? je m'en sort plus avec ces boucles
    sélectionner le produit a partir de Dbgrid et l’insérer dans une listeview et la je parcoure listview et j'insert dans la table....help me

Discussions similaires

  1. [XL-2007] Stocker les données d'une ligne
    Par INTEGERMAN dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/06/2012, 17h43
  2. Grouper les données d'une listview par date
    Par mounaje dans le forum VB.NET
    Réponses: 3
    Dernier message: 08/12/2010, 14h23
  3. Modifier les données dans une listview
    Par nomade333 dans le forum VBA Access
    Réponses: 2
    Dernier message: 16/01/2010, 15h56
  4. Recherche sur les données d'une ListView
    Par malayika dans le forum Windows Forms
    Réponses: 0
    Dernier message: 02/04/2009, 15h57
  5. comment stocker les données d'une hashtable dans un fichier?
    Par mokh7 dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 02/04/2008, 02h31

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