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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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

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