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

IHM Discussion :

Mise à jour sur liste déroulante


Sujet :

IHM

  1. #1
    Membre à l'essai
    Mise à jour sur liste déroulante
    Bonjour,

    J'ai un souci concernant une requête suite à une mise à jour de stock...

    Lorsque je choisi dans la liste déroulante un produit et que je le décompte, il me modifie la 1ère valeur de ma table T-Tarifs_Reparations et la requête R_Tarifs_Reparations

    Voici le code :

    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
     
     
     
    Private Sub Commande22_Click()
     
    Dim requete As String: Dim base As Database
     
    If (liste_ref.Value <> "" And IsNumeric(qte_aps_maj.Value)) Then
     
    Set base = Application.CurrentDb
    requete = "UPDATE T_Tarifs_Reparations SET Quantite=" & qte_aps_maj.Value & " WHERE code_article='" & liste_ref.Value & "'"
    base.Execute requete
    MsgBox "Les stocks pour la référence : " & liste_ref.Value & " ont correctement été mis à jour pour une quantité désormais égale à : " & qte_aps_maj.Value
    base.Close
    Set base = Nothing
     
    End If
     
    End Sub
     
     
    Private Sub liste_ref_Change()
     
    Dim ligne As Recordset: Dim base As Database
     
    Set base = Application.CurrentDb
    Set ligne = base.OpenRecordset("SELECT Designation,Prix_unitaire,Ref_Equipement,Quantite,Seuil_Quantite From T_Tarifs_Reparations WHERE code_article='" & liste_ref.Value & "'", dbOpenDynaset)
    qte_maj.Value = 0: qte_cours.Value = 0: Seuil_Quantite.Value = 0
     
    ligne.MoveFirst
    Designation.Value = ligne.Fields("Designation").Value
    Prix_unitaire.Value = ligne.Fields("Prix_unitaire").Value
    Ref_Equipement.Value = ligne.Fields("Ref_Equipement").Value
    qte_cours.Value = ligne.Fields("Quantite").Value
    SQuantite.Value = ligne.Fields("Seuil_Quantite").Value
     
    qte_maj.SetFocus
     
    ligne.Close
    base.Close
     
    Set ligne = Nothing
    Set base = Nothing
     
    End Sub


    J'ai tenté de supprimer les deux lignes 32 et 33. Cela ne met plus à jour ma table et ma requête mais je n'ai plus de correspondance du tarif et de la référence équipement avec ma liste déroulante...


    D’où pourrait provenir le problème ?

  2. #2
    Modérateur

    Bonjour.

    Access fait ce que tu lui demandes, tu changes la valeur du champ dans la table et après tu le lis donc il est normal que ta donnée change.

    Que voulais-tu avoir ?

    Une valeur dans le champ et l'ancienne dans la requête ?

    Ceci mis à part, il n'est pas recommandé de garder le résultat d'un calcul dans une table sauf si on a des problèmes de performance et même là il faut considérer toutes les autres options avant.

    Pour le calcul du solde on préférera faire la somme des mouvements d'entrée et de sortie depuis le stock initial jusqu'à une date donnée.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

###raw>template_hook.ano_emploi###