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

IHM Discussion :

valeur par défaut dans un formulaire [AC-2007]


Sujet :

IHM

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut valeur par défaut dans un formulaire
    Bonsoir,
    j'espère ne pas m'être trompé de forum. J'ai longtemps cherché sans trouver de solution et vous prie de m'excuser si la réponse a déjà été donnée dans une discussion mais voilà mon problème : je veux faire une base pour gérer un petit magasin (stocks, factures entre autres). J'ai donc créé 3 tables :
    - factures (idfact,...)
    - produits (idprod, ... prix_vente_indicatif)
    - factures_lignes (idfact, idprod, qté, prix_vente_facturé)

    l'idée est que le prix de vente facturé est normalement le prix de vente indicatif mais je voudrais avoir la possibilité de modifier le prix de vente au moment de la facturation.

    Je voudrais donc que, pour chaque produit facturé, la valeur par défaut de prix_vente_facturé soit prix_vente_indicatif. Comment faire ? Merci d'avance pour vos réponses (de préférence, sans code VBA, que je ne connais absolument pas).

  2. #2
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonsoir zolta et bienvenue,

    Vous dites
    mais je voudrais avoir la possibilité de modifier le prix de vente au moment de la facturation.
    Et
    la valeur par défaut de prix_vente_facturé soit prix_vente_indicatif
    Pourriez vous développez ? J'ai peur de ne pas comprendre votre souhait !!

    Vous avez donnez la structure à minima de vos tables mais pas la façon dont vous gérez le reste de votre application...


  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    275
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 275
    Points : 238
    Points
    238
    Par défaut
    Salut,

    Chtulus a raison, c'est un peu court. As-tu fait des formulaires liés à tes tables ?

    Si c'est le cas,il est facile de mettre dans les propriétés de ton champs "prix_vente_facturé" la valeur par défaut que tu souhaite.
    Donnes-nous plus d'info.


  4. #4
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour votre attention et désolé de ne pas avoir été assez clair.

    Dans la table produits il y a le champs "prix_vente_indicatif".

    Par exemple, un produit P a un prix_vente_indicatif de 10 €

    Quand je saisis la table "factures_lignes", je dois saisir le prix de vente "prix_vente_facturé" auquel je facture effectivement les produits.

    Par exemple, sur une facture, je facture P à 9 €, son "prix_vente_facturé" est 9

    Mon objectif : dans la table "factures_lignes", quand je tape l'identifiant du produit P, le prix de vente facturé reprend la valeur du prix de vente indicatif qui se trouve dans la table produits, soit 10 €.

    Ensuite, je dois avoir la possibilité soit de laisser 10 €, soit de modifier et mettre par exemple 9 à la place. La valeur par défaut de prix_vente_facturé change à chaque fois que je saisis l'identifiant d'un produit dans la "table factures_lignes".

    Je peux vous envoyer la base de données si vous le souhaitez.
    Cordialement.

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,
    hélas tu seras contraint de passer par du VBA, au moins pour pouvoir récupérer le prix_vente_indicatif du produit sélectionné.
    Donc tu as besoin d'un formulaire principal pour la facture, muni d'un sous-formulaire en mode continu pour les lignes de facturation.
    Dans ce sous-formulaire, tu as besoin d'une liste déroulante pour sélectionné le produit de chaque ligne, une zone de texte pour le prix de facturation .....

    Pour l'exemple j'appelle LstProduit la liste déroulante permettant de sélectionner les produits, TxtPrixVente la zone de texte affichant le prix de vente et j'appelle Designation le champ de la table Produits contenant le nom du produit.
    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
    Dans la feuille de propriétés des contrôles du sous-formulaire :
    Pour la liste déroulante : LstProduit
     Nbr Colonnes : 3
     Largeur colonnes : 0;5;0 
     Contrôle Source : idprod 
     Contenu : SELECT idprod, Designation, prix_vente_indicatif FROM Produits
     Après MAJ : [Procédure événementielle]  puis clique sur le bouton ... pour ouvrir la fenêtre de code et écrire
    
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    123
    Private Sub LstProduit_AfterUpdate()
     Me.TxtPrixVente=LstProduit.Column(2)
    End sub
    Pour la zone de texte du prix_vente_facture : TxtPrixVente Contrôle Source : prix_vente_facturé
    Ce qui permet à chaque fois qu'un produit est choisi d'afficher dans la zone de texte TxtPrixVente le prix_vente_indicatif du produit, prix_vente_facturé par défaut est prix_vente_indicatif.

  6. #6
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour la réponse mais je dois je dois faire une erreur à un moment car je n'ai aucune valeur par défaut. Comme vous me l'avez indiqué j'ai créé un formulaire nommé fact_f à partir de la table factures. Puis j'ai créé un formulaire à partir de la table factures_lignes que j'ai nommé fact_lignes_sf et qui me servira de sous-formulaire dans le formulaire fact_f.
    Dans ce formulaire (fact_lignes_sf), j'ai donc 4 zones de texte :
    - idfact
    - idprod
    - qté
    - prix_vente_facturé

    A partir de là, j'ai créé la liste déroulante pour sélectionner les produits :
    clic droit sur idprod/remplacer par/zone de liste déroulante
    Par défaut, cette listé déroulante est nommée idprod. Je l'ai renommée lstproduit.
    J'ai créé les 3 colonnes avec leurs largeurs respectives, mis idprod en contrôle source et la requête en contenu. Jusque-là, pas de problème.

    Ensuite, j'ai cliqué sur l'onglet évènement de la feuille propriété, sélectionné lstproduit et après MAJ, j'ai cliqué sur... pour ouvrir le code. Les lignes private sub et end sub étaient écrites automatiquement. Il me restait donc à taper la ligne du milieu :

    Me.TxtPrixVente=LstProduit.Column(2)

    J'ai simplement remplacé TxtPrixVente par prix_vente_facturé.

    En repassant en mode formulaire, je n'ai toujours pas de valeur par défaut dans ma zone prix_vente_facturé.

    J'ai deux doutes que vous pourrez peut-être dissiper :

    1) votre zone de texte TxtPrixVente et ma zone de texte prix_vente_facturé sont elles bien identiques ?
    2) lstproduit.Column(2) ne contient-elle pas la désignation du produit ? (et non le prix_vente_indicatif)

    Cordialement.

  7. #7
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour

    1) Oui
    2) Pour les listes et liste déroulantes les colonnes sont indicées à partir de 0, soit le première colonne est d'indice 0, la seconde indice 1 ....

    Il faut sélectionner un produit, pour que le contrôle (et par conséquent le champ) prix_vente_facturé soit mis à jour et affecté de la valeur prix_vente_indicatif du produit.

  8. #8
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut merci
    ça marche impeccablement. Merci pour vos conseils.

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

Discussions similaires

  1. [Drupal] Selectionner une valeur par défaut dans un formulaire de type select
    Par clem9085 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 20/11/2014, 14h28
  2. [AC-2007] Valeurs par défaut dans un formulaire continu
    Par Kaptin dans le forum IHM
    Réponses: 15
    Dernier message: 09/08/2012, 19h53
  3. [2.x] Valeur par défaut dans un formulaire
    Par dubitoph dans le forum Symfony
    Réponses: 3
    Dernier message: 19/12/2011, 08h26
  4. Réponses: 4
    Dernier message: 23/04/2007, 11h02
  5. Réponses: 1
    Dernier message: 10/02/2007, 13h44

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