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 :

choix d'un critère dans requete ajout


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 69
    Points : 38
    Points
    38
    Par défaut choix d'un critère dans requete ajout
    Bonjour,

    Je ne sais pas si je suis dans le bon groupe...
    Mais voici mon problème:

    Situation de départ:
    j'ai une base de donnée de plusieurs clients
    j'ai créé une requete ajout pour renseigner une autre base de données qui contient tous les champs de ma requete
    j'ai créé un bouton qui me permet d'executer cette requete
    tout marche bien

    Ce que je veux faire:
    après avoir cliqué sur le bouton, j'aimerai avoir le choix sur le critère client de ma requete (en clair, j'aimerai choisir d'exporter seulement les données du client que je choisi)

    Comment je peux faire?
    Merci d'avance

  2. #2
    Membre averti Avatar de dr_feelgood
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2005
    Messages : 292
    Points : 373
    Points
    373
    Par défaut
    1) si tu acceptes de choisir le client avant de cliquer sur le bouton:

    dans ton formulaire tu crée une liste déroulante avec tous tes clients (liste1)
    qui affiche le nom et le prenom, et qui contient l'ID du client et tu modifies ta requête avec un WHERE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    "INSERT INTO TableDestination ( nom, prenom )_
    SELECT [table_origine].nom, [table_origine].prenom_
    FROM [table_origine]_
    WHERE (([table_origine].ID)=" & Me.liste1 & ");"
    2 si tu veux que le choix du client se fasse après avoir cliqué sur le bouton, il te faudra ouvrir une 2e fenêtre où se situera la liste déroulante.
    .
    less is more

    vous pouvez faire une recherche dans le forum
    et également une recherche dans les FAQ

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    Merci Dr_feelgood,

    Effectivement j'ai bien une liste déroulante avec uniquement le nom (cela suffit dans mon cas)

    je débute dans la création de requete, et je ne sais pas où mettre ton code

    j'ai un bouton qui execute ma requete:
    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
    Private Sub Btn_Exporter_Click()
    On Error GoTo Err_Btn_Exporter_Click
     
        Dim stDocName As String
     
        stDocName = "R_Exportation"
        DoCmd.OpenQuery stDocName, acNormal, acEdit
     
    Exit_Btn_Exporter_Click:
        Exit Sub
     
    Err_Btn_Exporter_Click:
        MsgBox Err.Description
        Resume Exit_Btn_Exporter_Click
     
    End Sub

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    Je modifie ma requete...
    Je te tiens au courant

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    Desolé pour le code

    J'ai inclut ceci dans la partie critères de ma requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "INSERT INTO T_Références ( Nom ) SELECT [T_Client].Nom FROM [T_Client] WHERE (([T_Client].Nom)=" & [F_Exportation.Lst_Client] & ");"
    Et j'ai une fenetre qui s'affiche me demandant d'entrer une valeur de paramètre pour F_Exportation.Lst_Client

    quand bien même je rempli le champ demandé, il exporte 0 lignes

    ...

  6. #6
    Membre averti Avatar de dr_feelgood
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2005
    Messages : 292
    Points : 373
    Points
    373
    Par défaut
    En effet tu avais fait appel à une Requête existante et tu as une erreur dans ta requête car il faut indiquer la reference à ton champ de sélection (vois ici)
    Je te propose d'utiliser la commande RunSQL:

    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
    Private Sub Btn_Exporter_Click()
    ON Error GoTo Err_Btn_Exporter_Click
     
        Dim SQLName AS String
     
        SQLName = "INSERT INTO T_Références ( Nom ) SELECT [T_Client].Nom FROM [T_Client] WHERE (([T_Client].Nom)= '" & Me.F_Exportation.Lst_Client & "' );"
        DoCmd.setwarnings False
        DoCmd.RunSQL SQLName
        DoCmd.Setwarnings True
     
    Exit_Btn_Exporter_Click:
        Exit Sub
     
    Err_Btn_Exporter_Click:
        MsgBox Err.Description
        Resume Exit_Btn_Exporter_Click
     
    End Sub
    Les commandes Setwarnings permettent de supprimer le message d'avertissement d'acces 'attention vous allez mettre à jour 2 lignes'
    .
    less is more

    vous pouvez faire une recherche dans le forum
    et également une recherche dans les FAQ

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    J'applique ton code mais j'ai une erreur de synthaxe,
    '(([T_Client].Nom = '1');'

    En fait le '1' correspond à l'ID du nom de mon client

    pourtant dans ma liste déroulant j'ai bien le nom de mon client. Je ne comprends d'où ça peut venir

  8. #8
    Membre averti Avatar de dr_feelgood
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2005
    Messages : 292
    Points : 373
    Points
    373
    Par défaut
    C'est un simple problème de syntaxe, et jk'en suis aussi responsbel, ayant jonglé entre le nom du client et son ID

    si le critère de ta requête est un ID numérique , il faut que tu ôtes le signe ' qui est dans la requête.

    Ce signe ' est nécessaire lorsque le critère est une chaîne (comme un nom de client)
    .
    less is more

    vous pouvez faire une recherche dans le forum
    et également une recherche dans les FAQ

  9. #9
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    Je suis perdu...
    et je viens de relire notre discussion,

    J'ai une requete ajout (R_Exportation) existante qui ajoute une serie de champs dans une table (T_Références) d'une autre base de données.

    Ce que je veux faire est choisir tous les champs pour un client donné
    Cela revient a indiquer "nom du client" dans le critère de ma requete

    mais je voudrai automatiser ceci avec un liste déroulante dans un formulaire (F_Exportation), pour choisir le nom de mon client à inserer dans la zone critère de ma requete.

    Après avoir suivi tes conseils j'ai de nouveau une erreur:
    l'etat INSERT TO contient un champ inconnu 'Nom'


  10. #10
    Membre averti Avatar de dr_feelgood
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2005
    Messages : 292
    Points : 373
    Points
    373
    Par défaut
    J'ai une requete ajout (R_Exportation) existante qui ajoute une serie de champs dans une table (T_Références) d'une autre base de données.
    Au fil de la discussion, le problème se complexifie.....

    tu peux ajouter ta table T_références dans ta première base comme une table liée....
    .
    less is more

    vous pouvez faire une recherche dans le forum
    et également une recherche dans les FAQ

  11. #11
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    Merci pour ton aide...
    J'ai fait autrement, je ne suis pas entirement satisfait mais le but est que ça marche:

    dans ma requete j'ai tout simplement indiquer comme critère [Entrer le nom du client]
    j'ai une fenetre qui s'affiche et là je rentre le nom du client.
    j'aurai aimé choisir parmi une liste mais c'est peut etre plus simple comme ça...

    Merci

  12. #12
    Membre averti Avatar de dr_feelgood
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2005
    Messages : 292
    Points : 373
    Points
    373
    Par défaut
    Et bien gardes cette solution pour l'instant, et tu y reviendra une autre fois.
    .
    less is more

    vous pouvez faire une recherche dans le forum
    et également une recherche dans les FAQ

  13. #13
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    j'epluche la FAQ sur les requetes
    ça peut pas faire de mal

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

Discussions similaires

  1. Réponses: 20
    Dernier message: 19/11/2016, 22h32
  2. Colonne de zone de liste dans requete ajout
    Par kgb1917 dans le forum IHM
    Réponses: 7
    Dernier message: 04/06/2007, 17h42
  3. Réponses: 2
    Dernier message: 11/01/2006, 15h49
  4. Choix entre deux champs dans une requete
    Par Pico10 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 27/07/2005, 15h36
  5. Ajout de critères dans Select utilisé par xp_sendmail
    Par bd0606 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 28/05/2004, 17h02

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