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 :

lister des données d'une requete


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Points : 85
    Points
    85
    Par défaut lister des données d'une requete
    bonjour, j'ai créer un bouton me supprimant des données de ma table
    voici le code:
    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
    Private Sub cmdSupprClientsInactifs_Click()
        Dim maBD As DAO.Database
        Dim strSQL As String
     
        Screen.MousePointer = 11   'remplace le curseur de la souris par un sablier
     
        Set maBD = CurrentDb
     
     
     
    '--- basculer les clients en clients inactifs---
     
        strSQL = "UPDATE  T_Clients SET [T_Clients].[blnActif] = 0 " _
               & " WHERE [T_Clients].[No_client] not in (SELECT [T_Clients].[No_client]" _
               & " FROM (T_Clients INNER JOIN T_carte ON [T_Clients].[No_client]=[T_carte].[No_client]) INNER JOIN T_achat ON [T_carte].[No_CF]=[T_achat].[No_CF]" _
               & " WHERE (((Year([DateAchat]))>=Year(Date())- 2)));"
     
        maBD.Execute strSQL
        Screen.MousePointer = 0    'remet le curseur en souris
     
        MsgBox "Traitement terminé."
     
        Set maBD = Nothing
     
    End Sub
    donc ce code permet de supprimer les clients inactifs.
    Comment dois je faire maintenant via un bouton liste, pour lister ses clients avant de les supprimer?
    il y a 2 bouton liste et supprimer
    merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 047
    Points : 1 042
    Points
    1 042
    Par défaut
    bonsoir au lieu d'utiliser le sql en direct, il faut passer par un openrecordset de manière à lister et donc afficher par exemple le nom de la personne.

    le msgbox réglé sur oui non suivant la réponse tu delete la ligne.

    Bonne soirée

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Points : 85
    Points
    85
    Par défaut
    en fait avec le bouton liste, jaimerai faire apparaitre la liste puis si on veux supprimer, il faut cliquer sur un bouton supprimer sur lequel le code ci dessus est mis.
    Qu'appele tu openrecordset?

  4. #4
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Pourquoi n'ouvres-tu pas simplement un formulaire alimenté par ta requête déterminant les clients "actif/inactifs", où contrôle actif/inactif est... activé () et où tu peux encore sélectionner manuellement ceux que tu veux réellement effacer puis, cliquer sur le bouton "supprimer" qui lui, sera également sur ce second formulaire ?
    Just an idea !!

    C'est une technique que j'ai utilisé pour visionner la liste des rappels à envoyer aux clients et je dois dire que mes propres clients sont très satisfaits d'avoir cette possibilité...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Points : 85
    Points
    85
    Par défaut
    ben je ne voit pas comment faire vu que ma requete est dans le code VBA et non dans les requetes.

    et cette requete met a jour les client actif en inactif.
    peux tu maider?

  6. #6
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Ok !
    En premier lieu, tu créés un nouveau form et tu recopies dans "Source" de ce form le code SQL que tu reprends dans ton code VBA. (il y a évidemment d'autres solutions... mais c'est la plus simple à expliquer...)
    Tu dispose maintenant les champs en ligne et tu choisi "Formulaire continu" et... tu me dis lorsque c'est fait

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Points : 85
    Points
    85
    Par défaut
    il me dit que la requete ne renvoie aucun enregistrement et donc dans la liste des champs, je nest rien.
    Cette requete sert juste a mettre a jour les client dont les achat ne sont plus actif depuis 2 ans.

  8. #8
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Mille excuses, ce n'est pas une requête "Mise à jour" qu'il te faut mais bien "Select".
    Le plus simple est de la refaire via l'assistant requête "Sélection", en reprenant uniquement les champs qui t'intéressent.
    Dès lors, tu as deux possibilités pour "alimenter" ton formulaire :
    1. Tu indiques le nom de ta nouvelle requête dans "Source" (il faut bien entendu avoir sauvegardé ta requête au préalable)
    2. Tu demandes le code Sql de ta requête, tu la disposes sur une seule ligne, tu la recopies et tu la colles sous "Source

    Désolé

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/10/2007, 12h24
  2. Transferer des données d'une requete vers une table
    Par Lotfus dans le forum Bases de données
    Réponses: 3
    Dernier message: 22/07/2007, 09h03
  3. recupere des données d'une requete
    Par torNAdE dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/07/2006, 10h38
  4. Réponses: 2
    Dernier message: 17/05/2006, 08h35
  5. Rassembler des données dans une requete
    Par energies dans le forum Access
    Réponses: 2
    Dernier message: 31/03/2006, 12h39

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