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

Access Discussion :

Problème sur la modification d'un contrôle


Sujet :

Access

  1. #1
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 79
    Points : 60
    Points
    60
    Par défaut Problème sur la modification d'un contrôle
    J'ai un Form Facture avec un menu déroulant basé sur une table qui affiche:
    Le nom du produit, Le prix
    Jusque là tout est OK.

    Mon problème est que si je change le prix d'un produit pour mes nouvelles factures, les anciennes factures qui ont le même produit changent également leur prix
    Gros problème si je dois éditer ou consulter à nouveau mes anciennes factures.
    Est ce qu'il existe une méthode pour modifier mes prix sans modifier le contenu de mes anciennes Factures. : :

    Merci d'avance pour votre aide

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 371
    Points : 23 845
    Points
    23 845
    Par défaut Re: Problème sur la modification d'un contrôle
    Citation Envoyé par auriolbeach
    J'ai un Form Facture avec un menu déroulant basé sur une table qui affiche:
    Le nom du produit, Le prix
    Un menu déroulant qui affiche des données ? Un menu c'est pour afficher des commandes. Veux-tu dire un form en mode continu ?

    Enfin quoi que ce soit je t'invite à utiliser un formulaire basé sur ta table de facture cela devrait résoudre ton problème.

    A+

  3. #3
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 79
    Points : 60
    Points
    60
    Par défaut
    Mauvaise explication de ma part. Je recommence

    En fait dans mon FormFacture j'ai une liste déroulante qui affiche les données de ma table Produit: N°, Le nom du produit, Le prix
    Jusque là tout est OK.

    Mon problème est que si je change le prix d'un produit (dans ma table Produit) pour mes nouvelles factures, les anciennes factures qui ont le même produit changent également leur prix

    Gros problème si je dois éditer ou consulter à nouveau mes anciennes factures.

    Si l'explication que tu m'as donné est la bonne, peux-tu m'en dire un peu plus STP.

  4. #4
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    Bonjour,

    tu dois crée tes factures de façon "définitive", c'est à dire que lorsque tu choisi un article tu inscris dans la table facture le nom de l'article, le prix unitaire, le prix total etc.. Il ne faut donc pas que la table facture soit liée avec la table article et prix.

    Ton problème est donc un problème de conceptualisation de ton appli


    A+

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 371
    Points : 23 845
    Points
    23 845
    Par défaut
    Oui si ton prix doit être fixe alors il faut que tu enregistre ce prix dans ta table de détail de facture.

    A la création tu vas prendre le prix dans la table produit mais seulement à la création.

    A+

  6. #6
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 79
    Points : 60
    Points
    60
    Par défaut
    J'ai trouvé sur l'exemple comptoir exactement ce qu'il me faut mais je n'arrive pas à le réaliser.
    Je vais encore essayer quelques manip mais je pense que je vais avoir besoin d'aide.

  7. #7
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 79
    Points : 60
    Points
    60
    Par défaut
    C'est ok çà marche merci à tout les deux.
    Par contre Alexandre si je ne me trompe pas une base de donnée est faite justement pour éviter d'avoir à réinscrire des donnée.

    A titre d'info voici ce que j'ai fait suivant l'exemple COMPTOIR
    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
    Private Sub N°Prestation_AfterUpdate()
    On Error GoTo Err_N°Prestation_AfterUpdate
     
        Dim strFiltre As String
     
        ' Définit le filtre avant d'être utilisé dans la fonction DLookup.
        strFiltre = "[N°Prestation] = " & Me![N°Prestation]
     
        ' Recherche le prix unitaire du produit et l'assigne au contrôle Prix unitaire.
        Me![Prix unitaire] = DLookup("[Prix unitaire]", "Tarif Prestation", strFiltre)
     
    Quitte_N°Prestation_AfterUpdate:
        Exit Sub
     
    Err_N°Prestation_AfterUpdate:
        MsgBox err.Description
        Resume Quitte_N°Prestation_AfterUpdate
     
    End Sub
     
    Private Sub N°Prestation_BeforeUpdate(Annuler As Integer)
    ' Si le sous-formulaire Commandes est ouvert comme formulaire
    ' indépendant, un message s'affiche et les changements effectués sont
    ' annulés dans la zone de texte NomProduit. (La fonction EstChargé trouve
    ' un formulaire dans la collection Forms lorsque celui-ci est ouvert en
    ' tant que formulaire indépendant, mais pas lorsqu'il est ouvert comme
    ' sous-formulaire dans un formulaire principal.)
     
        Dim strMsg As String, strTitre As String
        Dim intStyle As Integer
     
        If EstChargé("Détails Facture Cotisation Sous-formulaire") Then
            strMsg = "Vous ne pouvez pas ajouter ou modifier un nom de produit lorsque vous ouvrez Détails Facture Cotisation Sous-formulaire en tant que formulaire indépendant."
            intStyle = vbOKOnly
            strTitre = "Impossible d'ajouter ou de modifier un nom de produit"
            MsgBox strMsg, intStyle, strTitre
            Me![N°Prestation].Undo
            Me.Undo
        End If
     
    End Sub[/b]
    Puis j'ai crée ce module utilitaire
    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
    Option Compare Database ' Utilise l'ordre de la base pour les comparaisons de chaînes.
    Option Explicit         ' Exige que les variables soient déclarées avant leur utilisation.
     
    Function EstChargé(ByVal strNomForm As String) As Boolean
     ' Retourne Vrai si le formulaire spécifié est ouvert
     ' en mode Création ou en mode Feuille de données.
        Const conÉtatObjFermé = 0
        Const conModeCréation = 0
     
        Dim oAccessObject As AccessObject
     
        Set oAccessObject = CurrentProject.AllForms(strNomForm)
        If oAccessObject.IsLoaded Then
            If oAccessObject.CurrentView <> acCurViewDesign Then
                EstChargé = True
            End If
        End If
     
    End Function
    A bientôt

  8. #8
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    Content que çà marche.
    Je me suis mal exprimé, ce que je voulais dire par inscrire, tu choisis un article dans une liste déroulante et ensuite access va "inscrire les données dans la table"

  9. #9
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 79
    Points : 60
    Points
    60
    Par défaut
    Pas de problèmes merci encore pour ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème sur la modification de plusieurs collections.
    Par lbillon dans le forum Hibernate
    Réponses: 1
    Dernier message: 12/01/2009, 19h22
  2. Réponses: 21
    Dernier message: 21/02/2008, 16h50
  3. Problème sur modification de requête
    Par deglingo37 dans le forum Access
    Réponses: 2
    Dernier message: 06/09/2006, 17h33
  4. [VB6]Problème lors de la modification d'un contrôle activeX
    Par pepper dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/04/2006, 14h13
  5. problème sur un formulaire de modification
    Par puppusse79 dans le forum Access
    Réponses: 13
    Dernier message: 14/04/2006, 16h48

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