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 :

Définir un champ de table comme valeur de variable


Sujet :

VBA Access

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

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Points : 64
    Points
    64
    Par défaut Définir un champ de table comme valeur de variable
    Bonjour,

    J'ai une table AGE avec un champ "AgePersonne"

    J'aimerai récupérer dans une variable la vlaleur de ce champ

    J'ai essayé cecie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    Dim variable As Integer
     
    variable = AGE.AgePersonne
    Sa ne fonctionne pas ! J'ai donc essayé avec un insert into

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    Dim variable As Integer
     
    sql= "INSERT INTO " & variable & " " & _
    "SELECT [AgePersonne]" & _
    "FROM [AGE];"
    CurrentDb.Execute sql
    9a ne fonctionne pas non plus grrr !

    bref vous avez compris ce que j'essai de faire ?

    Si quelqu'un pouvait m'aider ce serait chouette


    Merci infiniment d'avance

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 353
    Points : 23 819
    Points
    23 819
    Par défaut
    Généralement on ne garde pas des valeurs calculables dans une table, on garde les éléments nécessaire au calcul. Ici je garderai la date de naissance plutôt que l'âge de la personne et je ferai une requête qui cacule l'âge.

    Maintenant pour répondre à ta question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    dim db as dao.database:set db=currentdb
    dim r as dao.recordset:set r=db.openrecordset("AGE")
    Dim agePersonnne As Integer:'J'ai changé vraibale pour un nom qui décrit ce que la variable contient, ça rend généralement le code plus compréhensible.
     
    'Là je suppose qu'il n'y a qu'un et un seul enregistrement dans ta table
    agePersonne=r![AgePersonne]
     
    r.close:set r=nothing
    db.close:set db=nothing
    si tu as pluisieurs enregistrements dans ta table il faut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    r.findfirst("ClefPersonne=" & ClefPersonne)
     
    if not r.nomatch then
         agePersonne=r![AgePersonne] :'r![AgePersonne] est la forme abrégée de r.fields("AgePersonne")
      else
         agePersonne=-1 : 'Ou tout autre valeur qui a un sens pour ton application
    end if
    À propos du SQL, le "Insert Into" ne sert que pour mettre une valeur dans la table. Pour lire une valeur il faut utiliser "select".

    Là j'ai utilisé la librairie DAO pour accéder aux données mais tu peux aussi utiliser la librairie ADO dont la syntaxe est différente et que je ne maitrise pas.

    A+

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

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

    Merci de ta réponse ! C'est bon ça fonctionne à merveille ! mais je ne savais aps que c'était aussi complexe. Je pensais qu'il y avait plus facile. En tout cas ça fonctionne c'esty ce que je voulais ! merci beaucoup

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/12/2014, 16h49
  2. [2008R2] Executer une liste de procédure stockées commes valeurs de champ d'une table.
    Par M.A.X.I.M.E. dans le forum Développement
    Réponses: 2
    Dernier message: 18/06/2014, 14h21
  3. [10g] Fonction stockée et table comme valeur de retour
    Par quaterbac dans le forum PL/SQL
    Réponses: 4
    Dernier message: 06/05/2014, 15h17
  4. Nom de champ comme valeur d'une autre table
    Par 11lmdr dans le forum Access
    Réponses: 3
    Dernier message: 29/03/2010, 14h30
  5. Réponses: 4
    Dernier message: 13/08/2006, 22h18

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