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 :

Insérer valeur d'une variable dans une table


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Par défaut Insérer valeur d'une variable dans une table
    Bonjour,

    Voici mon probleme. Je voudrais récupérer la valeur d'une variable dans mon code VBA, et insérer cette valeur en tant que donnée dans une table.

    Exemple :

    J'ai une table AGE avec un seul champ : " agePersonne"

    dans mon code je voudrais faire ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim nb As Integer
     
    nb = 15
     
    et je voudrais que la valeur de nb, autrement dit "15", soit enregistrer dans la table AGE dans la colonne "agePersonne"

    quelqu'un saurait m'aider ?

    Merci d'avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Par défaut
    Salut,

    Par exemple avec une requete ajout. Tu construis la requete en fonction de la valeur de nb :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub DVP_Com()
    Dim Sql As String
    Dim Nb As Integer
    Nb = 15
    Sql = "INSERT INTO AGE ( agePersonne ) SELECT " & Nb & ";"
    CurrentDb.Execute Sql
    End Sub

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Un point de conception important, est que l'on ne stocke pas l'âge d'une personne dans une table, mais sa date de naissance.

    En effet, une date de naissance est une donnée qui n'évolue pas, tandis que l'âge change tous les ans , ce qui t'oblige à mettre à jour ce champ âge à chaque anniversaire

    Il est possible de récupérer l'âge d'une personne par calcul dans une requête, à partir de sa date de naissance.

    Philippe

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Par défaut
    Bonjour,

    Merci beaucoup à tous cela fonctionne à merveille c'est vraiment chouette

    Par contre, j'aurais deux INSERT TO à mettre. Et je en sais aps comment faire.

    Autrement dit je voudrais dire :

    insert tous els champs de la table a vers la table b et en plus insert la valeur de la variable Nb dans la colonne AGE.

    une idée ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Re

    Citation Envoyé par Philippe JOCHMANS Voir le message
    Bonjour

    Un point de conception important, est que l'on ne stocke pas l'âge d'une personne dans une table, mais sa date de naissance.

    En effet, une date de naissance est une donnée qui n'évolue pas, tandis que l'âge change tous les ans , ce qui t'oblige à mettre à jour ce champ âge à chaque anniversaire

    Il est possible de récupérer l'âge d'une personne par calcul dans une requête, à partir de sa date de naissance.

    Philippe
    Excuses moi d'insister, car je trouve cela très important, que ferais tu quand l'âge va changer ?

    Tu vas devoir reprendre tes données pour chaque personne à chaque fois qu'elle fête son anniversaire ?

    Philippe

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Par défaut
    bonjour,

    L'age n'est pas important, c'était à titre d'exemple, en réalité ma base de données comporte des champs en rapport avec mon entreprise. L'age c'est un nom que j'ai pris au hasard pour simplifier ma question

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Par défaut
    insert tous els champs de la table a vers la table b et en plus insert la valeur de la variable Nb dans la colonne AGE.
    Pour ton exemple.

    Table b (agepersonne;nompersonne)
    Table Age(agepersonne;nompersonne)

    Cela va donner qqchose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub DVP_Com()
    Dim Sql As String
    Dim Nb As Integer
    Nb = 15
    'ajouter tous les enregistrement de la table "b" dans la table "age"
    Sql = "INSERT INTO AGE ( agePersonne, nompersonne ) SELECT b.agePersonne, b.nompersonne FROM b;"
    CurrentDb.Execute Sql
    'ajoute un enregistrement  la table "age" avec nb comme agepersonne
     
    Sql = "INSERT INTO AGE ( agePersonne ) SELECT " & Nb & ";"
    CurrentDb.Execute Sql
    End Sub

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Par défaut
    oui mais moi je veux que les deux requete sois réunies en une seule, parce que en séparant en deux requettes comme tu as fait, ça ne va pas me mettre tout sur la meme ligne de donnée, or moi c'est ce que je veux. Je veux que l'age sois sur la meme ligne que le reste dans ma table

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Par défaut
    Mal compris alors.

    Et ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub DVP_Com()
    Dim Sql As String
    Dim Nb As Integer
    Nb = 15
    Sql = "INSERT INTO AGE ( nompersonne, agePersonne ) SELECT b.nompersonne, " & Nb & " FROM b;"
    CurrentDb.Execute Sql
    End Sub
    Cela ajoute dans la table age les enregistrements de la table B pour le champ nompersonne et la valeur de nb pour le champ agepersonne
    C'est ce dont tu as besoin ?

  10. #10
    Membre expérimenté Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 135
    Par défaut
    Bonjour membres du forum !
    Suis concerné par ce sujet "Insérer valeur d'une variable dans une table". En effet, j'ai une table nommée"MODALITEPAYEMENT" dont les
    champs: - NumModalite (Type de données: Numérique)
    - modalite (Type de données: Texte court).
    Mon objectif est de pouvoir insérer le dernier numéro de ce champ"NumModalite" et l'expression " e Versement" du champ"modalite" dans la prochaine ligne du champ "modalite" grace à un bouton de commande.
    Exemple: si le dernier NumModalite est: 1 alors la dernière ligne vide du champ modalite reçoit (1er Versement) sinon
    le champ modalite reçoit (2e Versement) , etc.
    NB: l'insertion se fait dans la même table MODALITEPAYEMENT.
    Nom : CaptureModaliteVersement.PNG
Affichages : 2283
Taille : 32,1 Ko
    Cordialement.

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/10/2011, 17h15
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. Réponses: 0
    Dernier message: 21/01/2009, 13h52
  4. Réponses: 4
    Dernier message: 29/01/2008, 11h12
  5. Réponses: 1
    Dernier message: 15/02/2007, 00h24

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