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 :

Critéres de filtres pour une requete création de table


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2008
    Messages : 152
    Points : 110
    Points
    110
    Par défaut Critéres de filtres pour une requete création de table
    Bonjour à tous,
    N’étant pas un spécialiste des requetes et de SQL je me heurte à un petit problème. Comment passer en paramètre une variable VBA (string) à une requête création de table ? Dans la FAQ il y a une rubrique mais elle ne pointe sur rien de très concret.

    - Je récupère par une liste de choix contenant certains champs d’une première table TZones. La sélection dans la liste ce fait sur un champ string (NomsZones) de la table TZone . La selection faite dans cette liste de choix est récupèré dans une variable ZoneCourante de type string.
    - Je lance une requête création de table sur la table TSecteurs (Nom de la table créé = TlisteSecteurs) et je veux extraire de la table TSecteur toute les occurrences de cette table ou TSecteur.[ ZonesAssociées]= ZoneCourante. Ou ZoneAssociées est un champ string de la table TSecteurs. Voilà j’espère avoir été à peu près clair dans mes explications. Sinon n’hésitez pas à me demander plus de renseignements
    Je pense que le plus simple et de me donner le filtre à mettre dans la zone critéres : OU Ou : de la requête en mode création. Merci d’avance pour vos réponses.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    On ne peut pas accéder directement à une variable ou une constante VBA à partir d'une requête mais on peut appeler une fonction VBA dans une requête.

    Ici un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    const UNE_CONSTANTE as string = "Une Constante"
    global uneVariable as string
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public function LireUneConstante() as string
       LireUneConstante=UNE_CONSTANTE
    end function
    ou plus direct :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public function UNE_CONSTANTE() as string
       UNE_CONSTANTE="Une Constante"
    end function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public function LireUneVariable() as string
       LireUneVariable=uneVariable
    end function
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select [uneTable].*, LireUneConctante() as [uneConstante], lireUneVariable() as uneVariable from [uneTable]

    Et n'oublie pas que tu peux aussi récupérer les infos en provenance d'un formulaire ouvert :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select [uneTable].*, [forms]![UnForm]![UnChampForm] as [unChampForm] from [uneTable]

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2008
    Messages : 152
    Points : 110
    Points
    110
    Par défaut
    Merci pour les précieuses infos. J'ai utilé le code ci - dessous mis dans les critéres du champ à filtrer dans le requete (= LaZoneDeRef ) et cela marche !!! 1000 fois merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ' Function parametre pour requete creation de table des secteurs attachés à la zone
    Public Function LaZoneDeRef() As String             '
       LaZoneDeRef = ZoneCourante
    End Function
    Derniere petite question subsidiaire. Dans une liste de choix j'ai le message suivant qui apparait (voir ci dessous). Cette liste de choix est bien programmée avec surtout le champ contenu = SELECT Tlistesecteurs.IDListe, Tlistesecteurs.NomsSecteurs FROM TlisteSecteurs; mais je n'arrive pas à supprimer cette fenetre, en faisant simplement OK sans rien saisir, la liste correctement renseignée apparait ?

    Nom : bug.jpg
Affichages : 200
Taille : 24,3 Ko

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Cela vient généralement d'un nom de champ mal orthographié ou d'un champ manquant dans la source.
    Utilise l'éditeur de requête pour créer tes requêtes. C'est généralement BEAUCOUP plus rapide que d'essayer de trouver le bon SQL surtout avec l'éditeur minimaliste fourni par Access.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2008
    Messages : 152
    Points : 110
    Points
    110
    Par défaut
    Exact le champ s'appelle IDSecteur et non IDListe. C'est vicieux car il n'y a aucune gestion d'erreur là. Encore merci pour tes précieux renseignements.

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

Discussions similaires

  1. Critère filtre d'une requete.
    Par Myaccess dans le forum Access
    Réponses: 15
    Dernier message: 02/06/2017, 15h19
  2. [AC-2010] relancer une requete création de table en vba access
    Par facteur dans le forum VBA Access
    Réponses: 3
    Dernier message: 30/01/2017, 10h14
  3. Réponses: 1
    Dernier message: 10/06/2014, 17h05
  4. Ouverture d'une requete création de table
    Par speleo dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 23/01/2007, 12h21
  5. Réponses: 2
    Dernier message: 13/05/2006, 13h25

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