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

VBA Access Discussion :

Les fonctions de domaine : DSUM etc


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Autres
    Inscrit en
    Septembre 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Septembre 2014
    Messages : 34
    Points : 25
    Points
    25
    Par défaut Les fonctions de domaine : DSUM etc
    Bonjour

    J'ai un problème avec les fonctions de domaine.
    J'ai trouvé ici ou là différents exemples que j'ai mis en pratique, ca marchait.
    Pourquoi avec mes données ca ne marche pas.
    J'aimerais trouvé ici une oreille attentive :
    Je remplis une table "t_nb" (id,nb,cumul)avec un formulaire qui permet de saisir nb.

    Je veux ranger dans cumul: nb + l'ancienne valeur de cumul.
    J'ai défini le champ cumul "en source" de la facon suivante :

    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dsum("nb","t_nb","[id]<="&[id])
    J'ai beau tapé, retapé je n'y arrive pas.
    Si quelqu'un pouvait me donner un coup de main.
    En vous remerciant par avance

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Je n'ai pas très bien compris ce que tu veux faire.
    Je remplis une table "t_nb" (id,nb,cumul)avec un formulaire qui permet de saisir nb.
    Tu as une table t_nb avec les champs id,nb et cumul où Cumul est un champ qui va être le cumul des valeurs de nb que tu aurais entrés. Déjà, les valeurs calculées ne devraient pas être conservées dans une table SAUF CAS vraiment exceptionnel de performance de l'application. On met les valeurs calculés dans une requête et on appelle la requête quan don veut consulter ou utiliser la valeur.
    - Donc pour moi déjà, tu vires le champ cumul.
    - Tu crées une requête avec tes 2 champs id et nb et tu rajoutes un champ Cuml avec comme valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dsum("nb","t_nb","[id]<="&[id])
    - Tu bases ton formulaire sur ta requête et fini le problème.

    Parce que ce que tu dis après est difficile à comprendre (tu ne peux pas définir un champ comme source et après rentrer une formule (soit un contrôle d'un formulaire est basé sur un champ d'une table, donc on peut y saisir quelque chose, soit c'est un champ indépendant, donc on utilise une requête pour mettre à jour les données dans une quelconque table.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Autres
    Inscrit en
    Septembre 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Septembre 2014
    Messages : 34
    Points : 25
    Points
    25
    Par défaut
    bonjour

    Dans un premier temps merci Madefemere.
    J'ai créer une requête, comme tu l'as proposé pour obtenir ce fameux cumul et ca marche.
    J'ai lu par ailleurs que pour récupérer le résultat d'une requête on pouvait, entre autre, utiliser la fonction dlookup.
    Ma requête est constituée de deux champs : l'idconso et le cumul (idconso non visible)
    Pour récupérer le résultat de ma requête je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim s as string
     
    s=dlookup("[cumul]","t_conso")
    et ça me renvoit le code d'erreur suivant 2471 :

    l'expression entré comme paramètre de requête est à l'origine de l'erreur suivante :
    : [cumul]

    Je vais continuer à chercher bien sur mais si tu pouvais m'éclairer.

    Cordialement

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Il doit y avoir quelque chose que je n'ai pas compris .
    Si tu as ta requête, tu en fais la source de ton formulaire, tu n'as pas besoin d'utiliser du code pour récupérer la valeur du Cumul.

    Vois l'exemple joint.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Autres
    Inscrit en
    Septembre 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Septembre 2014
    Messages : 34
    Points : 25
    Points
    25
    Par défaut les fonctions dsum
    Bonjour

    Je te remercie, Madefemere, pour le temps que tu trouves pour me répondre.
    J'ai travaillé fort tard et j'ai revu la conception de mon formulaire (tes remarques et les difficultés rencontrées par d'autres m'y ont incité et en effet, je n'avais pas besoin de rechdom (dlookup).
    Je suis débutant et j'ai voulu plaquer une solution sans trop chercher à comprendre la base plus préoccupé par le résultat que par la forme.
    Une requête c'est une table en apparence et se comporte comme telle.
    J'ai bien mon cumul qui apparaît mais le problème c'est qu'il se met a jour dès que je passe à l'enregistrement suivant et il dépasse un certain seuil.
    Dans ma tête de débutant, je pensais refaire le calcul du cumul en vba et le tester car je ne veux pas dépasser ce seuil.
    Mais peut être que je dois aller voir du côtés de l'événement mis à jour.
    Et ceci est une autre histoire!
    Merci Madefemere et bonne journée

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Attention !
    Si tu as un problème de seuil sur le résultat d'une fonction, il faut voir les valeurs des arguments que nom modifier la fonction ? Non?
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Autres
    Inscrit en
    Septembre 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Septembre 2014
    Messages : 34
    Points : 25
    Points
    25
    Par défaut les fonctions de domaine suite question collaterale
    Bonjour tout le monde et un grand salut a Madefemere qui semble être de garde.

    En fait c'est tout simple : j'ai un stock S que différents intervenants vident en fonction de leur besoins et je dois noter leurs prélèvements P.
    Donc, je pars d'un stock S qui diminue au fur et à mesure et qui s'affiche sans problème dans le formulaire (celà donc fait un premier calcul dans la requête)
    Le problème c'est que je dois tester S si je veux lancer une autre commande ou corriger d'éventuelles erreurs de saisie de P (cela devrait faire un deuxième calcul que ce soit dans un èvenement de MAJ où derrière un bouton car j'opte pour un bouton pour déclencher le calcul)
    Quitte à faire un calcul ne vaut il pas mieux en faire un seul derrière le bouton où alors il est pas "tordu" de procéder ainsi : un calcul avec la requête s'occupant de l'affichage et un calcul derrière le bouton pour la prise des prises de décision.
    J'avais marqué résolu en ce qui concerne les fonctions de domaine mais est ce le cas ???
    En tous les cas merci à toi Madefemere de "suivre" mes premiers pas ; ça donne confiance (je sais bien c'est du b a ba pour la plupart de ceux qui sont inscrits ici)

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/03/2012, 09h09
  2. Réponses: 5
    Dernier message: 15/03/2011, 10h23
  3. [XSLT] Du mal avec les fonctions preceding math:min etc.
    Par Mil17 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 16/08/2007, 12h27
  4. [wiki] Sur les langages, les fonctions, etc
    Par stilobique dans le forum Evolutions du club
    Réponses: 14
    Dernier message: 09/07/2007, 13h17
  5. [SQL] Nommer efficacement les fonctions, classes, etc.
    Par Metallic-84s dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/09/2006, 18h57

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