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 :

[A-03]SQL-Nom de table comme paramètre


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Par défaut [A-03]SQL-Nom de table comme paramètre
    Bonjour,
    Une erreur probablement due à une mauvaise syntaxe, mais où ?.
    Je souhaiterais utiliser la même SQL pour plusieurs tables tab1, tab2, etc., en introduisant les noms des tables comme variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Matable as TableDef
    Set Matable = CurrentDb.TableDefs("tab1")
    SQL=SELECT MaTable.champ INTO tabTrav FROM MaTable WHERE critere
    DoCmd.RunSql (SQL)
    Erreur à la dernière ligne "... ne trouve pas la table 'MaTable'"

    Si vous savez ...
    Merci
    Amitiés

  2. #2
    Membre éprouvé Avatar de Brunodm13
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 129
    Par défaut
    Bonsoir,

    SQL doit être de type String.
    J'aurai donc écrit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SQL="SELECT " & MaTable & ".champ INTO tabTrav FROM " & MaTable & "WHERE critere"
    DoCmd.RunSql (SQL)
    Bruno

  3. #3
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 614
    Billets dans le blog
    67
    Par défaut
    juste une precision pour éviter les confusions,

    dans le code de Brunodm13 la variable MaTable est de type string
    et on peut avoir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    MaTable="tab1"
     
    ou
     
    MaTable="tab2"
    etc...

    et le code de Bruno
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Par défaut
    Merci à vous deux,
    C'est impardonnable de ma part d'être allé chercher si loin, alors que l'erreur était flagrante.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Matable, SQL as String
    Set Matable = "tab1"
    SQL="SELECT " & MaTable & ".champ INTO tabTrav FROM " & MaTable & "WHERE critere"
    DoCmd.RunSql (SQL)
    et ça fonctionne bien.

    Amitiés

  5. #5
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 186
    Par défaut
    Juste pour dire que, comme ça, MaTable n'est pas définie comme un String
    [Access] Les bases du débogage => ici

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Par défaut
    Effectivement, là résidait une belle erreur !
    Amitiés

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

Discussions similaires

  1. passer le nom de table en paramètre avec iReport
    Par imanoual dans le forum iReport
    Réponses: 12
    Dernier message: 27/03/2012, 20h49
  2. Passer un nom de table en paramètre.
    Par ygrim dans le forum Développement
    Réponses: 2
    Dernier message: 05/08/2008, 15h01
  3. [PL/SQL] Nom de table et de champs paramétrés
    Par NeraOne dans le forum SQL
    Réponses: 16
    Dernier message: 18/07/2007, 16h47
  4. Pb Update dans une PS avec nom de colonne comme paramètre
    Par blowlagoon dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 07/06/2006, 10h20
  5. Debutant[Table comme paramètre]
    Par lenouvo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/05/2005, 09h04

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