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

VB 6 et antérieur Discussion :

comment faire l'ajout d'un seul coup des plusieurs données situé dans Listview


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 71
    Points : 52
    Points
    52
    Par défaut comment faire l'ajout d'un seul coup des plusieurs données situé dans Listview
    Bonjour bon je travail avec vb6 je me suis bloqué sur l'ajout de plusieurs donnée d'un seul coup j'explique
    Bon j'ai 2 table Command et Detaille commande
    table commande contient 4 champs(N°cde(clé p) , Date cde, Compte Clt, Nom clt)
    et table Detail Commande 7 champs(N°auto, N°cde(clé etr), code artice, designation, quantité, Prix unitaire, Avance Payé)
    j'utilise un seul Formilaire qui Rassemble tous Ca par exemple j'utilise Combo pour N°cde
    bon un Client Peut choisir Plusieurs Article donc je me suis servi de Listview pour remplir les Detaille commandes de Clt
    Listview va seulement Contenir N°article , Designation , Prix Unitaire, Quantité, Montant
    Exemple
    N°Cde :1
    Date Cde :31/005/2008
    Compte Client:C1001
    Nom Client :KAMAL
    '''''''''''''''''''''''
    1 ere cde
    Code_article : 100001
    Designation : CHaise 24
    Prix unitaire : 200
    Quantité :4
    je clique sur valider ses deonnées vont se transmettre au Listview et pas dans la table
    2eme cde
    Code_article : 100002
    Designation : Table Bordeau
    Prix unitaire : 400
    Quantité :2
    quand je finis je clique Sur toolbar
    il dois me faire l'ajout de ses 2 enregistrement d'un seul Coup es ce Possible
    Meme si j'utilise L SQL Insert into pour L'jout dans les tables
    Voila le Moitié du Traville que j'ai fais et je me suis Bloqué sur le Reste
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    Dim mt, tm As Integer 'declaration de variable Mt et total Mt
    Private Sub Form_Load()
    Ouverture   'ouverture du base de données
     
    With E_commande   'chargement du Combo1 Par La Table Commande
    Combo1.Clear
    If Not .EOF Then .MoveFirst
    While Not .EOF
    Combo1.AddItem !num_cde
    .MoveNext
    Wend
    End With
     
    With E_client   'chargement du Combo2 et 3 par la table Client
    Combo2.Clear: Combo3.Clear
    If Not .EOF Then .MoveFirst
    While Not .EOF
    Combo2.AddItem !compt_clt
    Combo3.AddItem !nom_clt
    .MoveNext
    Wend
    End With
     
    With E_article  'chargement du Combo4 et 5 par la table Article
    Combo4.Clear: Combo5.Clear
    If Not .EOF Then .MoveFirst
    While Not .EOF
    Combo4.AddItem !code_art
    Combo5.AddItem !desig_art
     .MoveNext
    Wend
    End With
     
    ListView1.ListItems.Clear
    With ListView1.ColumnHeaders 'Conception L'entête du Listview1
     
    .Add , , "Code Article", (ListView1.Width * (2 / 20)), lvwColumnLeft
    .Add , , "Designation", (ListView1.Width * (2 / 22)), lvwColumnLeft
    .Add , , "Quantité", (ListView1.Width * (2 / 18)), lvwColumnLeft
    .Add , , "Prix Unitaire", (ListView1.Width * (2 / 18)), lvwColumnLeft
    .Add , , "Avance", (ListView1.Width * (2 / 18)), lvwColumnLeft
    .Add , , "Montant", (ListView1.Width * (2 / 18)), lvwColumnLeft
     
    End With
    ListView1.View = 3
    End Sub
     
    Private Sub Command1_Click()  'L'ajout Dans Listview
     
    d = Format(DTPicker1, "dd/mm/yyyy")
     
    va = MsgBox("Voulez_vous Vraiment Valider La Commande??", vbYesNo + vbInformation, "VALIDATION")
    If va = 6 Then
    mt = Val(Text2) * Val(Text1)
    tm = tm + mt
    Set l = ListView1.ListItems.Add(, , Combo4) 'Code article
    l.SubItems(1) = Combo5        'Designation
    l.SubItems(2) = Text2          'Quantité
    l.SubItems(3) = Text1          'Prix unitaire
    l.SubItems(4) = Text3          'Avance
    l.SubItems(5) = mt              'Montant
     
    Label13 = tm  ' Affichage du Total Montant
    Combo4.Text = "": Combo5.Text = "": Text1.Text = "": Text2.Text = ""
    Text3.Text = ""
    End if
    End sub
    Maintenant Comment je peux valider Plusieur Commandes
    ce qui est dans ma listview va se valider dans la table Detaille Commande et les autre vont etre transféré dans La table Commande ainsi j'ai le N°cde qui se trouve a 2 table j'en sais pas si je complique la vie Mais si il existe une autre Methode pourrez vous au Moins me Donner une idée

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    La bonne humeur matinale aidant, je vais t'aider ! (applause)

    Citation Envoyé par r.mehdi Voir le message
    il dois me faire l'ajout de ses 2 enregistrement d'un seul Coup es ce Possible
    Oui !

    0/ Ouvrir transaction
    1/ INSERT INTO COMMANDE ... avec retour du dernier id inséré sauf si tu le choisis toi même
    2/ INSERT INTO DETAIL COMMANDE avec le dernier id inséré PAR LA SESSION. Je précise, parceque sous Mysql (je sais pas sous quoi tu travaille) je crois qu'il te retourne le dernier id inséré tout court, sans gérer l'étanchéité lors de travaux parallèles
    3/ Commit

    Citation Envoyé par r.mehdi Voir le message
    Maintenant Comment je peux valider Plusieur Commandes
    Ben tu fais l'étape précédente n fois ...

  3. #3
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 71
    Points : 52
    Points
    52
    Par défaut merci
    Citation Envoyé par Vld44 Voir le message
    La bonne humeur matinale aidant, je vais t'aider ! (applause)

    Oui !

    0/ Ouvrir transaction
    1/ INSERT INTO COMMANDE ... avec retour du dernier id inséré sauf si tu le choisis toi même
    2/ INSERT INTO DETAIL COMMANDE avec le dernier id inséré PAR LA SESSION. Je précise, parceque sous Mysql (je sais pas sous quoi tu travaille) je crois qu'il te retourne le dernier id inséré tout court, sans gérer l'étanchéité lors de travaux parallèles
    3/ Commit
    Ben tu fais l'étape précédente n fois ...
    je travail avec access 97 Bon pr Transaction c'est Comme ca?
    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
     
    Private Sub Command1_Click()
     
    d = Format(DTPicker1, "dd/mm/yyyy")
     
    va = MsgBox("Voulez_vous Vraiment Valider La Commande??", vbYesNo + vbInformation, "VALIDATION")
    If va = 6 Then
    sql1 = "insert into commande values('" & Combo1 & "' , #" & d & "# , '" & Combo2 & "' , '" & Combo3 & "')"
    base.Execute sql1
    sql2 = "insert into detail_command(numc_cont, datec_cont, codea_cont, desig_cont, pu_cont, qtc_cont,avance_cont) values('" & Combo1 & "' , #" & d & "# , '" & Combo4 & "' , '" & Combo5 & "' , " & Text1 & " , " & Text2 & " , " & Text3 & ")"
    base.Execute sql2
    Call List_load
    Label10 = Val(Label10) + 1 'incrementation
    End If
    End Sub

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/12/2014, 19h31
  2. comment faire pour ajouter une image
    Par doumie_12 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 02/05/2007, 22h59
  3. suppression et ajout d'un seul coup....
    Par exyacc dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 11/04/2006, 15h28
  4. [CR 9.1] comment faire pour ajouter un tableau dans un état?
    Par anneso108 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 28/03/2006, 14h40
  5. Comment faire pour ajouter une ligne seulement !
    Par Fredri dans le forum Access
    Réponses: 1
    Dernier message: 26/12/2005, 11h44

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