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

Requêtes et SQL. Discussion :

[Requete] Inserer une variable ou le repertoire courant dans une requete ?


Sujet :

Requêtes et SQL.

  1. #1
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut [Requete] Inserer une variable ou le repertoire courant dans une requete ?
    Bonjour.
    Je cherche a obtenir dans une requete (non VBA, une requete faite dans access sous l'onglet correspondant) le reperrtoire courant de ma base de donnees et y ajouter un nom derriere mais je n'y arrive pas.
    et dans la faq, ils disent d'utiliser une varaible VBA et, pour le faire, d'aller voir un lien qui tombe...sur rien concernant ca : http://access.developpez.com/faq/?pa...teres#VarDsReq

    je ne sais donc pas comment faire.
    ce que je veux donc c'est un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM matable IN mavariableVBA+mabase.mdb
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM matable IN chemincourant+mabase.mdb
    mais qui marche..
    merci d'avance pour votre aide

  2. #2
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    et dans la faq, ils disent d'utiliser une varaible VBA et, pour le faire, d'aller voir un lien qui tombe...sur rien concernant ca :
    oups...

    Tu peux effectivement creer un variable globale contenant le chemin de ta base (cf.FAQ pour le repertoire courrant ... si le lien marche). Ensuite dans un module tu crees un fonction publique MonRepertoire() qui renvoie un String qui est .... le contenu de ta variable globale. Ainsi tu pourras utiliser MonRepertoire() directement dans ta requete.

    En esperant t'aider.

    edit: euh en fait pas besoin de variable globale ... dans la fonction publique tu renvoies tout simplement le chemin de la base de donnees.

  3. #3
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Citation Envoyé par Demco
    edit: euh en fait pas besoin de variable globale ... dans la fonction publique tu renvoies tout simplement le chemin de la base de donnees.
    c'est ce que j'essaye de faire, utiliser une fonction mais tu l'appels comment apres dans ta requete car moi, il me gete avec comme message : "Query input must contain at least one table or query."
    et ca ne marche donc pas car il n'enregistre pas...

  4. #4
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Fais le d'abord en VBA afin de t'assurer que la requete generee est bien celle que tu attends.

  5. #5
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Citation Envoyé par Demco
    Fais le d'abord en VBA afin de t'assurer que la requete generee est bien celle que tu attends.
    oui, en vba ca marche car on peut faire des ajouts de texte c'est ok...
    en vba, on peut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    marequete = "SELECT * FROM matable IN " & mabase
    ce qu'il me faudrait donc, c'est l'equivalent pour une requete alors...???

  6. #6
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    mabase c'est ta fonction publique ?

  7. #7
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Citation Envoyé par Demco
    mabase c'est ta fonction publique ?
    oui, excuse, j'ai oublie les parentheses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    marequete = "SELECT * FROM matable IN " & mabase()

  8. #8
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Ca fonctionne en VBA et pas depuis SQL ... là je sèche.
    Essaie dans la requête de mettre le chemin directement "[...]In 'c:\....tata.mdb'", juste pour tester.

  9. #9
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Citation Envoyé par Demco
    Ca fonctionne en VBA et pas depuis SQL ... là je sèche.
    Essaie dans la requête de mettre le chemin directement "[...]In 'c:\....tata.mdb'", juste pour tester.
    oui, avec le chemin complet, ca marche parfaitement.
    mais je ne peux pas faire ca car la base va etre utilise sur plusieurs pc et jamais a partir du meme chemin...

  10. #10
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Citation Envoyé par doudouallemand
    oui, avec le chemin complet, ca marche parfaitement.
    mais je ne peux pas faire ca car la base va etre utilise sur plusieurs pc et jamais a partir du meme chemin...
    Tout a fait !! Mais je ne comprends absolument pas pourquoi ca ne fonctionne pas avec la fonction publique directement dans la requete SQL. Je me souviens l'avoir deja fait justement pour utiliser des variables globales dans les requetes et je n'ai jamais eu aucun probleme.

  11. #11
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Citation Envoyé par Demco
    Tout a fait !! Mais je ne comprends absolument pas pourquoi ca ne fonctionne pas avec la fonction publique directement dans la requete SQL. Je me souviens l'avoir deja fait justement pour utiliser des variables globales dans les requetes et je n'ai jamais eu aucun probleme.
    que dois-je faire vu que la ca va pas STP?

  12. #12
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Regardes si tu respectes bien ce qui est decrit ici:
    http://access.developpez.com/faq/?pa...gage#VarGlobal

  13. #13
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Citation Envoyé par Demco
    Regardes si tu respectes bien ce qui est decrit ici:
    http://access.developpez.com/faq/?pa...gage#VarGlobal
    je le respecte a la lettre, c'est la dessus que je me suis base pour commence... et j'ai essaye avec guillement simple et double et sans mais rien n'y fait, meme sans parenthese...

  14. #14
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Eh bien je jete l'eponge la ... je n'ai pas Access au boulot pour tester donc je ne peux rien faire de plus.
    J'espere que quelqu'un de plus competant passera par la.

  15. #15
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Citation Envoyé par Demco
    Eh bien je jete l'eponge la ... je n'ai pas Access au boulot pour tester donc je ne peux rien faire de plus.
    J'espere que quelqu'un de plus competant passera par la.
    d'accord, merci et j'espere aussi que quelqu'un va pouvoir m'aider...

  16. #16
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    bon, j'ai trouve une solution de remplacement mais si quelqu'un a la reponse, je suis preneur.
    moi, et j'y avais pas forcement pense a le faire comme ca, j'ai mis en code VBA et executer sur un bouton mais bon, j'ai notament perdu un message d'avertissement et ca m'embete...
    donc, encore a toi Demco et si quelqu'un a la solution...
    doudouallemand

  17. #17
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    sql ne semble pas supporter le in + variable globale
    je te propose une méthode un peu bourrin une procédure set up
    avec dao tu parcoures le querydef
    tu recherches from table initiale
    tu le remplaces par from table in curdir & "\" & nomdelabase

  18. #18
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Citation Envoyé par random
    sql ne semble pas supporter le in + variable globale
    je te propose une méthode un peu bourrin une procédure set up
    avec dao tu parcoures le querydef
    tu recherches from table initiale
    tu le remplaces par from table in curdir & "\" & nomdelabase
    j'ai pas vraiment compris ce que tu veux, tu peux essayer de reexpliquer differement et donner un exemple stp...

  19. #19
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Une truc qui me passe par la tete ...
    Peut-etre n'accepte-t-il pas cette forme là :
    SELECT * FROM matable IN mabase()
    Parce que au final ça fait
    SELECT * FROM matable INC:\......dmb
    Pourrais-tu essayer ceci afin que j'ai la conscience tranquille ?
    SELECT * FROM matable IN & " " & mabase()

  20. #20
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Citation Envoyé par Demco
    Pourrais-tu essayer ceci afin que j'ai la conscience tranquille ?
    j'ai essaye et ca ne marche pas non plus, il me gete aussi des que je veux enregistrer (et donc, qu'il verifie mon code)...
    par contre,
    ne passe tout simplement pas la verification lors de l'enregistrement et une variable globale donne a l'execution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ... IN 'C:\Documents and Settings\administrator\Application Data\Microsoft\Access\CHEMIN'
    si CHEMIN est ma variable globale et que j'ai mis comme requete :

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/10/2014, 10h28
  2. Réponses: 5
    Dernier message: 04/12/2008, 15h58
  3. Réponses: 4
    Dernier message: 14/05/2007, 13h44
  4. Réponses: 4
    Dernier message: 06/05/2007, 20h31
  5. afficher dans une boite de dialogue la valeur d'une variable
    Par micknic dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/07/2005, 09h25

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