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 :

etat et liste deroulante issue d'un formulaire


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Employé administratif entreprise de services
    Inscrit en
    Mai 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Suisse

    Informations professionnelles :
    Activité : Employé administratif entreprise de services

    Informations forums :
    Inscription : Mai 2008
    Messages : 68
    Points : 34
    Points
    34
    Par défaut etat et liste deroulante issue d'un formulaire
    Bonjour,

    Je bute sur un problème certainement simple, mais pas moyen de trouver la solution.
    Ce problème a été plusieurs fois débattu, mais je n'arrive à rien.


    Je dois générer un état (devis) qui reprends un certain nombre de champs d'un formulaire ( gestion des bons) ainsi qu'un certain nombre d'une autre (éléments du devis), dont les valeurs sont stockées dans des tables du même nom...

    Une autre table (taux de tva) me sert à stocker les différents taux en vigueur. Le champs taux de tva du formulaire gestion des bons est une liste déroulante qui propose trois taux .

    Mon problème est simple

    Impossible de récupérer la valeur indiquée dans le champs du formulaire dans mon état pour en faire un calcul; au mieux je renvoie le numéro de colonne.

    Je vois le taux dans un champs du pied de page, mais pour en utiliser la valeur niet...et sans calcul de la tva pas de montant TTC!

    J'ai récupéré la somme ht dans le pied d'état et renvoyée sur le pied de page.

    Déjà que passer de 2003 à 2010 est quelque peu galère, la chaleur (et une gastro aidant), je tourne autour depuis ce matin et là je craque et demande votre aide.

    Par avance Merci.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Si tu as une liiste de sélection, tu récupères probablement la clef de ton taux de TVA au lieu de la valeur.

    Si c'est le cas une solution simple est de lire la colonne qui contient le taux.

    Si tu as une liste comme cela :
    • clefTaux
    • ValeurTaux


    Il suffit de mettre me.[NomTaListeTVA].column(1) pour lire le taux associé. Note que la numérotation des commandes commence à 0 et donc que la 2ième colonne porte le numéro 1.

    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.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Employé administratif entreprise de services
    Inscrit en
    Mai 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Suisse

    Informations professionnelles :
    Activité : Employé administratif entreprise de services

    Informations forums :
    Inscription : Mai 2008
    Messages : 68
    Points : 34
    Points
    34
    Par défaut
    Bonjour et merci de me filer un coup de main

    Citation Envoyé par marot_r Voir le message
    me.[NomTaListeTVA].column(1)
    J'ai entre aperçu cela sur plusieurs sites ou cette formule qui est un équivalent

    Forms!NameOfForm!BoxA.Column(1)
    Par contre je ne comprends pas son usage...( enfin la théorie oui mais la pratique non)

    Elle n'est pas à entrer comme source de contrôle en tant que qu'expression parceque sinon elle se transforme et devient

    me.[TAUX DE TVA].[column(1)]
    J'en déduis que c'est un élément de code mais où dois je le déclarer?

    Les éléments de base ( clic, focus... etc n'ont pas lieu d'être puisque c'est un état et que la mise à jour se fait à l'ouverture de celui ci)...

    A moins que je ne me fourvoie et que je fasse le travail à l'envers mais ça ne me semblait pas logique de faire le calcul dans un champs texte du formulaire gestion des bons et le repiquer dans l'état.


    @+

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Oui la syntaxe n'est pas évidente.

    Si tu l'utilise directement dans un champ, pas dans du code et queta liste est dans le même documente normalement il devrait suffire de mettre : =[TAUX DE TVA].[column](1) dans la source du champ.

    Si la liste est dans un formulaire il faut mettre quelque chose comme

    =[Forms]![NomTonForm]![TAUX DE TVA].[column](1)C'est un peu comme une formule de calcul en Excel, tu peux l'utiliser directement sans rien déclarer.

    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.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Employé administratif entreprise de services
    Inscrit en
    Mai 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Suisse

    Informations professionnelles :
    Activité : Employé administratif entreprise de services

    Informations forums :
    Inscription : Mai 2008
    Messages : 68
    Points : 34
    Points
    34
    Par défaut
    Merci pour les conseils

    Bon ça s'améliore en quelque sorte


    [Formulaires]![GESTION DES BONS JLS]![TAUX DE TVA].[column](1)

    me renvoie une erreur de type

    #ERREUR



    "gestion des bons jls" est le nom de mon formulaire issu de la table du même nom qui stocke les valeurs.
    "taux de tva " est le nom du champs dans le formulaire gestion des bons
    .

    A part la francisation due à nos versions d'access, le reste semble être dans le droit fil de tes conseils.

    Doit pas manquer grand chose

    @+

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Essaye :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[Formulaires]![GESTION DES BONS JLS]![TAUX DE TVA].[column](1)
    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.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Employé administratif entreprise de services
    Inscrit en
    Mai 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Suisse

    Informations professionnelles :
    Activité : Employé administratif entreprise de services

    Informations forums :
    Inscription : Mai 2008
    Messages : 68
    Points : 34
    Points
    34
    Par défaut
    Bonjour,

    =[Formulaires]![GESTION DES BONS JLS]![TAUX DE TVA].[column](1)
    me renvoie une erreur de type #Nom? ce matin, le "=" je l'avais omis dans la réponse, mais il y était...

    De toute façon Access me transforme automatiquement [forms]!, forms! en =[forms]!

    Essayant de le copier coller j'ai reconstruit la formule avec l'assistant...pas mieux et portant elle semble bonne et ne me renvoie pas d'erreur flagrante par exemple un column(1) se transforme automatiquement en [column](1).

    Par contre la commande [column] n'existe pas dans la liste déroulante où l'on trouve colonneLiée; columnEnd;columnHidden ; columnOrder; columnStart; ColumnWidth...

    @+

  8. #8
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Essaye en remplaçant Column par Colonne, dés fois la traduction ne se fait pas correctement.

    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.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Employé administratif entreprise de services
    Inscrit en
    Mai 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Suisse

    Informations professionnelles :
    Activité : Employé administratif entreprise de services

    Informations forums :
    Inscription : Mai 2008
    Messages : 68
    Points : 34
    Points
    34
    Par défaut
    =[Formulaires]![GESTION DES BONS JLS]![TAUX DE TVA].[Colonne](1)

    et ben pas mieux et si je modifie n'importe lequel des quatre autres membres pas moyen de déclencher une autre erreur sauf sur [formulaires]; c'est comme si mes libellés étaient faux alors qu'il ne le sont pas.

    @+

  10. #10
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Ok on va essayer autrement.

    • Ouvre ton formulaire [GESTION DES BONS JLS]
    • ensuite va en designer de code dans la fenêtre d'exécution immédiate. Faire [ctrl][g] pour l'afficher si elle ne l'est pas.
    • dans cette fenêtre tape : ? forms![GESTION DES BONS JLS].name [enter]
      cela doit afficher le nom du formulaire
    • dans cette fenêtre tape : ? forms![GESTION DES BONS JLS]![TAUX DE TVA].name [enter]
      cela doit afficher le nom du controle
    • dans cette fenêtre tape : ? forms![GESTION DES BONS JLS]![TAUX DE TVA] [enter]
      cela doit afficher la valeur choisie
    • dans cette fenêtre tape : ? forms![GESTION DES BONS JLS]![TAUX DE TVA].column(1) [enter]
      cela doit afficher la valeur associée à la valeur choisie.


    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.

  11. #11
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Si cela ne marche pas cela devrait te donner un indice sur ce qui n'est pas correct.

    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.

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Employé administratif entreprise de services
    Inscrit en
    Mai 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Suisse

    Informations professionnelles :
    Activité : Employé administratif entreprise de services

    Informations forums :
    Inscription : Mai 2008
    Messages : 68
    Points : 34
    Points
    34
    Par défaut
    Bonjour

    désolé de n'avoir pas répondu avant j'étais en déplacement hier

    je poste ici les résultats des commandes

    ? forms![GESTION DES BONS JLS].name
    GESTION DES BONS JLS
    le bon formulaire


    ? forms![GESTION DES BONS JLS]![TAUX DE TVA].name
    TAUX DE TVA
    le bon nom du champs

    ? forms![GESTION DES BONS JLS]![TAUX DE TVA]
    Null
    la bonne réponse sur un champs vide pour un un formulaire vierge non rempli...


    ? forms![GESTION DES BONS JLS]![TAUX DE TVA]
    2
    la bonne réponse sur un champs rempli d'une tva (3= 5.5;2=19.6;1=7 %)


    ? forms![GESTION DES BONS JLS]![TAUX DE TVA].column(1)
    0.196
    la bonne réponse sur un champs rempli d'une tva (3= 5.5;2=19.6;1=7 %)

    @+

  13. #13
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    OK donc la syntaxe devrait être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =forms![GESTION DES BONS JLS]![TAUX DE TVA].column(1)
    et évidement il faut que [GESTION DES BONS JLS] soit ouvert.

    Mais logique voudrait plutôt que tu ailles chercher cette valeur dans la table de données en fonction de données locales. DFirst() permet cela, un truc du genre DFirst("TauxTva";"TableTauxTva";"[CodeTauxTva]=" & me.CodeTauxTva) où me.CodeTauxTva est un champ de la source du rapport. Cela rendrait ton rapport indépendant du formulaire ![GESTION DES BONS JLS].

    Moins tu as de dépendances entre des objets et moins tu risques de casser quelque chose si tu modifies un objet de ta base.

    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.

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Employé administratif entreprise de services
    Inscrit en
    Mai 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Suisse

    Informations professionnelles :
    Activité : Employé administratif entreprise de services

    Informations forums :
    Inscription : Mai 2008
    Messages : 68
    Points : 34
    Points
    34
    Par défaut
    et évidement il faut que [GESTION DES BONS JLS] soit ouvert.




    Évidemment quand on le laisse ouvert (et qui plus est sur le bon enregistrement) ça marche mieux...

    Je suis une andouille je vois que ça!!

    A partir du moment ou j'ai laissé ouvert le formulaire ça roule

    le calcul derrière suit naturellement

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Employé administratif entreprise de services
    Inscrit en
    Mai 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Suisse

    Informations professionnelles :
    Activité : Employé administratif entreprise de services

    Informations forums :
    Inscription : Mai 2008
    Messages : 68
    Points : 34
    Points
    34
    Par défaut
    Merci beaucoup ça fonctionne nickel chrome...

    Pour ce qui est de la deuxième proposition ( Dfirst) il faut que je creuse car cela permettrait effectivement de m'affranchir de bon nombre de contraintes;

    par contre je me pose des questions par rapport à la syntaxe, et il faut que je prenne du temps pour étudier son fonctionnement ( microsoft indique des "," et pas des ";"(...)

    En même temps la solution actuelle elle me permet d'éviter les erreurs de saisie de devis car ils ont toutes les données sous les yeux...
    Pour ce qui est de la reprise de numérotation je récupère la valeur de mon N° de bon de mon formulaire ouvert et ça évite toute erreur ( sinon, si je leur laisse le soin de reprendre et taper les valeurs, le résultat promet d'être folklorique car à cause de cette liaison au formulaire ouvert on peut voir de sacrés mélanges générés ).

    Et la pour le coup je suis pas sûr que les prospect / clients soient satisfaits

  16. #16
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Citation Envoyé par Strig Voir le message



    Évidemment quand on le laisse ouvert (et qui plus est sur le bon enregistrement) ça marche mieux...

    Je suis une andouille je vois que ça!!
    Désolé mon ton a été sans doute un peu pédant et cassant mais telle n'était pas mon intention.

    Il faut savoir que Forms est la collection des formulaires ouverts d'où la nécessité que le formulaire soit ouvret pour pouvoir s'y référer.

    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.

  17. #17
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    La différence entre la , et le ; vient de l'endroit où tu l'utilises et la langue dans laquelle tu travaille.

    En anglais, le séparateur de paramètres est la vigule. En français, c'est le point-virgule mais dans le code (dans le SQL d'une requête ou dans un module VBA) il faut utiliser la virgule.

    Donc si tu es dans l'éditeur de requête en mode conception, tu vas mettre DFirst(Arg1 ; Arg2 ; Arg3) mais si tu es en mode SQL tu vas mettre DFirst(Arg1 , Arg2 , Arg3).

    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.

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Employé administratif entreprise de services
    Inscrit en
    Mai 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Suisse

    Informations professionnelles :
    Activité : Employé administratif entreprise de services

    Informations forums :
    Inscription : Mai 2008
    Messages : 68
    Points : 34
    Points
    34
    Par défaut
    Pas de problème au niveau du ton employé , c'est juste que en mode de fonctionnement normal la fenêtre de saisie du bon de travail est naturellement ouverte, et que la bien évidemment pour les tests, ben elle était fermée -et que je prenais des raccourcis... comme quoi c'est pas toujours bon!).


    Pour le reste ça fonctionne plutôt bien ( DFirst pas encore testé) juste un souci de récupération d'une valeur, ce qui marche bien pour une autre partie de mon formulaire ( en interne) , se trouve foireux dans le cas présent, car quand je récupère la valeur du formulaire ouvert et que je la place dans le futur devis , je la vois à l'écran mais elle ne s'enregistre pas dans la table, et donc je me retrouve avec des lignes de devis sans numérotation.

    C'est pour le moins balot.


    Après une fois cela résolu j'espère que cela jouera à nouveau ( tout du moins suffisamment pour que j'oublie les bases d'Access)

Discussions similaires

  1. [AC-2010] Filtre dans une liste deroulante dans un sous formulaire
    Par ultima67 dans le forum IHM
    Réponses: 5
    Dernier message: 04/01/2013, 08h51
  2. Réponses: 4
    Dernier message: 10/12/2011, 20h17
  3. Réponses: 11
    Dernier message: 28/09/2006, 11h44
  4. Réponses: 5
    Dernier message: 25/10/2005, 20h51
  5. Réponses: 3
    Dernier message: 19/05/2005, 17h52

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