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

VB 6 et antérieur Discussion :

Requete select avec table en parametre


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Points : 52
    Points
    52
    Par défaut Requete select avec table en parametre
    Salut à tous , c'est encore moi avec mes questions de newbee


    J'ais une requete select de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM `nom_de_ma_table`"

    En fait je souhaite mettre a la place du nom_de_ma_table
    une variable qui contiendra les differents noms de mes tables.

    Avez vous une idee de comment je peux le faire svp

    Merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 140
    Points : 166
    Points
    166
    Par défaut
    Bonjour,

    Je ne comprend pas bien l'intêret d'une telle requête.

    Peux tu preciser ton SGBD ?

    Ta requête est elle lancé à partir d'un programme ?

  3. #3
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Points : 1 281
    Points
    1 281
    Par défaut
    Dans Une Procedure Stockee :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Create Procedure Toto
     
    Declare @nomtable Varchar(50)
     
    As
    Declare @query Varchar(250)
     
    Set @query = 'select * From ' + @nomtable
    Exec(@query)

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Points : 52
    Points
    52
    Par défaut fautes
    Citation Envoyé par mdevlieg
    Bonjour,

    Je ne comprend pas bien l'intêret d'une telle requête.

    Peux tu preciser ton SGBD ?

    Ta requête est elle lancé à partir d'un programme ?
    En fait je fais un export excel depuis une page PHP , et avec le fichier excel je fais cette requete sur le nom de la page excel ainsi exportee...
    Le probleme c'"est que ce nom peut varier et n'est pas tres explicite donc je souhaite le renommer avec ActiveSheet.Name et passer cette variable dans la requete ...
    Je lance la requete en Vb6 dans une procedure de mailmerge (fusion word) mais j'ais juste besoin de la requete si c'est possible .
    Est ce plus clair ?
    merci de ton aide

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par HULK
    Dans Une Procedure Stockee :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Create Procedure Toto
     
    Declare @nomtable Varchar(50)
     
    As
    Declare @query Varchar(250)
     
    Set @query = 'select * From ' + @nomtable
    Exec(@query)
    Merci MAis Puis je adapter cela à Vb6 par exemple en declarant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim @nomtble as string
    ......
    sqlstatement : = select * from @nomtble
    ?????????

  6. #6
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Points : 1 281
    Points
    1 281
    Par défaut
    je connais pas le vb6 mais il faut que tu declare une variable qui va contenir le nom de ta table que tu concatenera avec une variable string qui sera ta requete.

    en vb.net ca donne ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    dim command as new sqlclient.sqlcommand
     
    command.commandtype = text
    command.commandtext = "SELECT * FROM ' & variablenomtable
    command.executenonquery

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Points : 52
    Points
    52
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=dataSource;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=35;Jet OLEDB:D" _
            , SQLStatement:="SELECT * FROM `'#xls)database_dump(1)$'`", SQLStatement1 _
            :="", SubType:=wdMergeSubTypeAccess
    J'ais mis en rouge pour vous montrer la ligne que je veux paramatrer...
    Merci

  8. #8
    Nouveau membre du Club
    Inscrit en
    Février 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 31
    Points : 37
    Points
    37
    Par défaut
    pourquoi tu ne stocke pas pas d'abord le select dans une variable string
    et ensuite tu le met dans SQLStatement

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par kashue
    pourquoi tu ne stocke pas pas d'abord le select dans une variable string
    et ensuite tu le met dans SQLStatement
    Justement j'ais essayé et ça produit la meme chose ...

    Merci de ton aide

  10. #10
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    je ne sais pas comment tu te connecte a ta base de donnee mais voila un truc qui marche a tout les coups

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SQL="Select * From "
    Table="Toto"
     
    SQL=SQL & Table
     
    'Ensuite tu te connecte a ta base de donnee.
    'et au moment de mettre ta requette tu mets plutot la variable SQL
    Si ca ne marche toujours pas donne nous ton code car c'est seulement comme ca qu'on connaitra ton probleme et donc qu'on pourra le resoudre.

  11. #11
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Citation Envoyé par sovo
    je ne sais pas comment tu te connecte a ta base de donnee mais voila un truc qui marche a tout les coups

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SQL="Select * From "
    Table="Toto"
     
    SQL=SQL & Table
     
    'Ensuite tu te connecte a ta base de donnee.
    'et au moment de mettre ta requette tu mets plutot la variable SQL
    Si ca ne marche toujours pas donne nous ton code car c'est seulement comme ca qu'on connaitra ton probleme et donc qu'on pourra le resoudre.
    Je ne suis pas trop doué question interaction entre word/excel/access
    mais je pense que ceci serait une petite amélioration
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SQL="Select * From "
    Table="Toto"
     
    SQL=SQL & "[" & Table & "]"
    ça autorise les blancs dans le nom de la table

  12. #12
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    Peut etre je vais voir. Mais a tout les coup je n'ai jamais eu de probleme avec le mien. j'utilise generalement un base ACCESS donc ...

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Points : 52
    Points
    52
    Par défaut
    Salut Delbeke et Sovo
    merci de votre aide je vais essayé vos proposition et je vous donne la suite !

    En fait ce n'est pas une base de donnee mais un export de resultat de requete d'une base Mysql en fichier Excel xls...
    Donc ma requete parametree se fait en fait sur ce fichier Dumpé et plus precisement ce qui constitue la table est en fait le nom (Sheet) de la feuille excel !

    Ce nom pouvant varier ( peut etre ) et n'etant pas explicite c'est pour cela que je voulais parametrer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from au_lieu_nom_feuille_excel_parametre_contenan_le_nom_de_cette_feuille_fesant_office_de_table
    J'espere avoir été plus claire ! a tout de suite sinon passez une bonne jrnee

  14. #14
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    quelque soit la provenance de ta Table ou feuille adapte juste mon code et ca va marche. Pour ce faire il te suffit juste de change (selon) ta convenance la nom de Table par celui de la feuille ici Table="Toto"

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par sovo
    quelque soit la provenance de ta Table ou feuille adapte juste mon code et ca va marche. Pour ce faire il te suffit juste de change (selon) ta convenance la nom de Table par celui de la feuille ici Table="Toto"
    Je suis d'accord , j'ais essayé avec ton code et celui de l'autre
    mais ça ne marche pas !

    Merci de l'aide

  16. #16
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    et est qu'on pourrais avoir ton code ??

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Points : 52
    Points
    52
    Par défaut
    ok resolu

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Points : 52
    Points
    52
    Par défaut
    Au fait pour creer le document modele il faut faire
    dans word controle F9 et nom_du_champs_

    apres je vais automatiser mais pour l'instant voila ok

    merci

  19. #19
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    je presume que ton probleme vient de la ligne en rouge.
    Citation Envoyé par minette
    SQLStatement:="SELECT * FROM `'#xls)database_dump(1)$'`",
    Si c'est le cas c'est la variable xls)database_dump(1)$. Par contre tu fait bien

    Citation Envoyé par minette
    sql = "Select * From "
    table = nomFeuilXL


    sql = sql & table ' remplacer dans la ligne en rouge
    alors pourquoi ne pas l'utiliser ??

    Moi je ferais plutot

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SQLStatement:="SELECT * FROM " & table , SQLStatement1
    ou
    SQLStatement:=sql , SQLStatement1

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par sovo
    je presume que ton probleme vient de la ligne en rouge.


    Si c'est le cas c'est la variable xls)database_dump(1)$. Par contre tu fait bien



    alors pourquoi ne pas l'utiliser ??

    Moi je ferais plutot

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SQLStatement:="SELECT * FROM " & table , SQLStatement1
    ou
    SQLStatement:=sql , SQLStatement1
    En fais c'est moi qui ai mis la ligne en rouge pour montrer !
    sinon ça marche , c'est juste que le nom com tu le vois n'est pas commode..
    tu vois l'une des raison qui me pousse a modifier cette façon dans ma requete!
    imagine que le nom de ma feuille excel soit different de ça xls)database_dump(1)$!! c'est pas une variable mais le nom de la feuille excel active de ma source de donnee et qui fai office de table ...
    j'ai essayé ton code ça marche pas ! essaie tu verras que avec le sqlstatement ça ne passe pas ...

    Merci de ton aide

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [MySQL] Requete SELECT multi-tables avec un ORDER BY
    Par Twenty4 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/12/2010, 02h36
  2. Réponses: 5
    Dernier message: 10/12/2007, 15h24
  3. Requete ajout avec table parametrable
    Par BugAmbulant dans le forum VBA Access
    Réponses: 9
    Dernier message: 05/07/2007, 12h22
  4. requete select avec plusieurs tables
    Par samba2005kanoute dans le forum Forms
    Réponses: 30
    Dernier message: 12/04/2007, 15h46
  5. requete SELECT avec un nombre constant
    Par gurumeditation dans le forum Requêtes
    Réponses: 3
    Dernier message: 04/07/2003, 20h04

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