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 :

Récupérer une valeur dans une table en VBA [AC-2003]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 19
    Points : 11
    Points
    11
    Par défaut Récupérer une valeur dans une table en VBA
    Bonjour,

    J'ai un formulaire en mode feuille de donnée et je voudrais ajouter une colonne qui contiendrait "oui" ou "non" selon une condition.

    J'ai une table Entreprise avec un attribut AnneeTaxe.

    Je voudrais mettre "oui" si (L'année en cours - AnneeTaxe) <=3 et sinon mettre "non".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     If Year(Now) - "" <= 3 Then
            Me.txttaxe = "oui"
        Else
            Me.txttaxe = "non"
        End If
    Je ne sais pas comment récupérer la valeur de AnneeTaxe (là où il y a les "") dans ma table.

    merci d'avance de votre aide.

  2. #2
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 43
    Points : 30
    Points
    30
    Par défaut
    Salut,

    pour récupéré ta veleur il faut que tu passe par un recordset

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim RS AS DAO.Recordset
    Dim BD AS DAO.Database
    Dim Req AS String
    Dim intTaxe AS Integer
     
    Set BD = CurrentDb()
    Req = "SELECT * From Entreprise;"
    Set RS = BD.OpenRecordset (Req)
     
    intTaxe = RS![AnneeTaxe]
    En faisant cela tu récupère la valeur du champ AnneeTaxe, et il faudrai que ce champ dans ta table soit en numérique et il serait bien aussi que dans le code pour le select il y a une restriction qui correspondrait a l'entreprise

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    Merci de ta réponse vto59.

    Si j'ai bien compris ce code c'est intTaxe qui contient la valeur AnneeTaxe.

    J'ai essayé de l'afficher dans un champ pour tester en écrivant ceci:
    Mais il m'affiche 0 pour chaque ligne alors que dans la table il y a bien 2008,2005, etc...

    Je ne sais pas si j'ai raté une étape.

    Sinon j'ai essayé un truc idiot (disons évident) que je n'avais pas pensé à faire avant de poster : Récupérer la valeur du champ AnneeTaxe puisque ma feuille de donnée est basée sur la table Entreprise. Résultat : il test la 1ere ligne et ensuite affiche le même résultat pour toutes les autres lignes.

  4. #4
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 43
    Points : 30
    Points
    30
    Par défaut
    indique nous la structure de ton formulaire stp !

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    J'ai un formulaire basé sur rien du tout dans lequel il y a ce sous formulaire feuille de donnée qui est basé sur la Table Entreprise. (c'est ça la structure?)

  6. #6
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 43
    Points : 30
    Points
    30
    Par défaut
    Pour ma part je passerai par un autre formulaire pour effectué la modification et j'activerai ce sous formulaire par un click sur un bouton. Parce que je ne voit comment tu pourrait effectué cette modification sur une feuille de donnée...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    De quelle modification tu parles?

  8. #8
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    Bonjour,
    Et a part le sous-formulaire il y a quoi sur ton formulaire et il sert a quoi ?
    Ce type de problème se règle en général par une requête basée sur la table en ajoutant une colonne par ex : Nommée « Reponse » et on y met le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Reponse: VraiFaux(Année(Maintenant())-Année([AnnéeTaxe])<=3;"oui";"non")

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    Et a part le sous-formulaire il y a quoi sur ton formulaire et il sert a quoi ?
    il y a juste un bouton quitter et un bouton pour accéder à un autre formulaire.
    Reponse: VraiFaux(Année(Maintenant())-Année([AnnéeTaxe])<=3;"oui";"non")
    Je ne savais pas qu'on pouvait faire ce genre de choses en SQL j'essaye ça tout d'suite.

    Edit: Hmm ça y est j'ai compris c'est dans un champ de la feuille de donnée que j'ajoute ça pas dans la réquête

    Edit: Hmmmmerciiii!!! ça môarche!

  10. #10
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    re,
    il n'y a pas de quoi, mais
    ce n'est pas tout a fait ce que j'ai dit.
    et si effectivement dans le form cela marche, bien sur, ce n'est pas la démarche classique car pour avoir access à tes infos il te faudra ouvrir ton formulaire.
    en principe, on fait cela dans une requête et on base le formulaire ou le sous formulaire sur sur cette requête. l'info est donc accessible par code ou autre sans que le formulaire soit ouvert - mais ce qu j'en dit....c'est toi qui voit.
    à + pour d'autres avantures....

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    En fait oui j'aurais besoin de cette valeur plus tard. Comment faire pour ajouter cette fameuse colonne à ma requête?

    Je ne peux pas ajouter la fonction VraiFaux a cause des ";" qu'il y a dans la syntaxe.

  12. #12
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    re,
    de quels ";" parles-tu
    tu dois mettre cette fonction directement dans ta requête en mode création.
    la function que je t'ai envoyée est une fonction SQL de requête aussi bien que de contrôle. il n'y a qu'en VBA où on les remplace par "," avec If......

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    Je parlais des ";" dans la fonction pour séparer les "oui" et "non".

    Bon voila ça fonctionne j'ai trouvé la syntaxe pour le VraiFaux en SQL ici:
    http://www.developpez.net/forums/d50...tion-vraifaux/

    Ce qui donne:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT IIf(Year(Now())-[AnneeTaxe]<=3,"oui","non") AS Taxe
    FROM Stage

    Voila merci à vous de m'avoir mis sur la voie (même bien plus).

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. [AC-2003] Récupérer la Valeur d une requete dans une table
    Par mongmc dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 03/02/2011, 17h53
  3. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  4. Récupérer la valeur d'une ligne dans une procédure stockée
    Par mobscene dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 07/12/2006, 19h29
  5. Réponses: 4
    Dernier message: 07/08/2006, 17h01

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