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 :

commander l'affichage des champs d'une requête depuis un formulaire


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 84
    Points : 47
    Points
    47
    Par défaut commander l'affichage des champs d'une requête depuis un formulaire
    Bonjour,

    Je possède une requête selection, qui affiche plusieurs champs "site" "produit" "temps".
    Je souhaiterais posséder dans un formulaire des cases à cocher qui commandent l'affichage de ces champs.

    Si la case1 est cochée le champ "site" s'affiche; si la 2 est cochée c'est le champ "produit" qui s'affiche; etc.. si les trois sont cochées les trois champs s'affichent.

    Est-ce possible ?

    Merci

  2. #2
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 372
    Points : 19 781
    Points
    19 781
    Billets dans le blog
    65
    Par défaut
    Salut,

    Peux-tu préciser les choses ?

    La requête est-elle la source d'un sous-formulaire en mode feuilles de données ?

    Ou bien est-ce un formulaire tout simple avec des zones de textes "site", "produit" et "temps" ?

    Peux-tu insérer une image de ton formulaire pour qu'on se rende mieux compte ?

    Merci !

  3. #3
    Membre régulier Avatar de sendme
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 82
    Points
    82
    Par défaut
    Bonjour,

    Effectivement ce sont des précisions importantes.

    si ce sont des champs directement dans ton formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If Me.CaseàCocher = True
    Me.NomChamp.Visible = True
    Else
    Me.NomChamp.Visible = False
    End If
    Si tes champs sont dans un sous formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If Me.CaseàCocher = True
    Me.[NomSsForm].Form![NomChamp].Visible = True
    Else
    Me.[NomSsForm].Form![NomChamp].Visible = True
    End If
    En espérant t'avoir aidé.
    Cordialement.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 84
    Points : 47
    Points
    47
    Par défaut
    Bonjour,

    Malheureusement, je ne pas stocker d'image sur internet de la où je suis.

    Donc ma requête sélection est basée sur une table temporaire. Je demande à cette requête d'afficher toute la table, et donc tous les champs (Date, sites, produits....) Ce que je souhaiterais c'est posséder dans un formulaire des cases à cocher; et en fonction des cases cochées, la requête sélection ne m'afficherais que les champs date et sites, ou site et produits ou encore site etc...

    Pour l'instant le seul moyen que je connaisse est d'ouvrir ma requête en mode création et de coche la case "masquer" des champs.

    Merci

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 84
    Points : 47
    Points
    47
    Par défaut
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT (Format([Date],"MMM 'YY")) AS Expr1, Sum(Table_temp_analyse.[Temps Std]) AS [SommeDeTemps Std], Count(Table_temp_analyse.[Rejet de banc]) AS [CompteDeRejet de banc], Sum(Table_temp_analyse.Outputs) AS SommeDeOutputs, Table_temp_analyse.CNQ, Table_temp_analyse.Activité
    FROM Table_temp_analyse

    Voici le code SQL de ma requête, ce qu'il faudrait c'est que je puisse jouer sur la commande SELECT.

    Merci

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 84
    Points : 47
    Points
    47
    Par défaut


    J'ai essayé de mettre une condition sur le SELECT dans la requête, mais rien à faire ca me met une erreur.

    J'ai joint la photo ci dessus pour montrer concraitement ce que je souhaitais faire. Lorsque la case "produit" est cochée, le champ "produit" apparaît.

    Merci
    Bonne journée

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 174
    Points : 178
    Points
    178
    Par défaut
    Bonjour,
    Je suis confrontée exactement au même problème depuis des jours.... Avez-vous finalement trouvé une solution ?

  8. #8
    Membre régulier Avatar de sendme
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 82
    Points
    82
    Par défaut
    Bonjour,

    Une des solution serait de passer votre requete en string via des variables globales.
    La requête se construirait comme ci-dessous :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    'Déclaration des VG
    Private VGSelectCase1True As String
    Private VGSelectCase2True As String
    Private VGSelectCase3True As String
    Private VGRequeteFinale As String
     
    'Fonction de formatage SQL
    Public Function FormatStrSQL(WhichString As Variant) As String
    If IsNull(WhichString) Then
        FormatStrSQL = "''"
    Else
        FormatStrSQL = "'" & Replace(WhichString, "'", "''") & "'"
    End If
    End Function
     
     
    Private Sub Choixrequete()
    Dim StrSql As String
     
    If Me.case1 = True Then
    VGRequeteCase1True = "ici le select avec le champ concerné"
    End If
     
    If Me.case2 = True Then
    VGRequeteCase2True = "ici le select avec le champ concerné"
    End If
     
    If Me.case3 = True Then
    VGRequeteCase3True = "ici le select avec le champ concerné"
    End If
     
     
    VGRequeteFinale = VGRequeteCase1True & " " & VGRequeteCase2True & " " & VGRequeteCase3True
     
     
    StrSql = "SELECT " & FormatStrSQL(VGRequeteFinale) & " FROM NomTable"
    CurrentDb.Execute StrSql
    StrSql = ""
     
     
    End Sub
    Je ne suis pas sûr de la syntaxe, donc à tester .
    En espérant vous avoir aidé....

  9. #9
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    A cette adresse, vous trouverez l’inspiration :

    http://cafeine.developpez.com/access...echerchemulti/

    L’idée consiste à exprimer, via un formulaire tel que celui de l’image, les champs souhaités, voire l’ordre d’édition.
    Un click sur un bouton, génère alors le code ad hoc de la source d’un état.

    Amicalement.

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/06/2015, 19h42
  2. [AC-2010] Affichage des résultats d'une requête dans un formulaire
    Par h.valnot dans le forum Access
    Réponses: 6
    Dernier message: 29/04/2015, 13h31
  3. [MySQL] Affichage des résultats d'une requête sur plusieurs pages
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/10/2006, 13h24
  4. Réponses: 4
    Dernier message: 09/08/2006, 11h05
  5. Liste des champs d'une requête
    Par Virgile59 dans le forum Access
    Réponses: 4
    Dernier message: 07/02/2006, 11h46

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