none
Requête SQL SELECT FROM

    Question

  • Bonjour,

    est ce que je peux sélectionner dans une requête SQL tous les champs d'une table sauf un champ.

    MERCI

    Tuesday, April 17, 2012 4:58 PM

Answers

  • Il n'existe pas de syntaxe SQL du type "SELECT * moins un champs". Soit on utilise *, soit on spécifie chaque champs à inclure dans la requête.

    En VBA, il sera cependant possible de déterminer quels sont les champs disponibles, et donc de construire la requête dynamiquement, comme le fait l'assistant SQL.


    The Data Specialist (Blog)

    Wednesday, April 18, 2012 9:30 AM
  • Bonjour,

    C'est ce que j'avais compris au début puis en me rendant compte que la question était posée sur le forum Dev. Access, je me suis dit pourquoi ne pas profiter des fonctionnalités Access comme suit :

    1. Créer la requête en mode création puis tester la requête (Cela aura au moins l'utilité d'être sûr de votre requête)
    2. Basculer ensuite en mode SQL puis copier/coller la requête sous VBA

    Par contre il n'existe pas, à ma connaissance, d'opérateur, style *, qui permet de réaliser l'ajout des tous les champs sauf un.


    En espérant avoir pu rendre service (MehdiH)
    Retrouvez moi sur Office Users

    Wednesday, April 18, 2012 9:44 AM
  • Bonjour,

    mon champ CodeClient est le premier champs de ma table je vais incrémenter du 2ème champ jusqu’à dernier champs et récupérer les champs dans un string et séparer les champs par des virgule comme ça je vais atteindre mon résultat.

    merci

    • Marked as answer by abdel.net Wednesday, May 02, 2012 10:41 AM
    Wednesday, April 18, 2012 3:23 PM

All replies

  • Bonjour,

    est ce que je peux sélectionner dans une requête SQL tous les champs d'une table sauf un champ.

    MERCI

    Tuesday, April 17, 2012 5:08 PM
  • Bonjour,

    Oui cela est posssible si vous démarrer la création de votre requête à partir de l'assistant, il suffit alors , à l'érape de sélection des champs, de basculer tous les champs vers la droite puis de retirer celui qui ne doit pas figurer dans le résultat

    De même si vous utiliser le mode création, il est possible, à partir de la table, de sélectionner tous les champs à insérer (CTRL+Clic) puis de les glissés en une fois dans la grille d'interrogation.


    En espérant avoir pu rendre service (MehdiH)
    Retrouvez moi sur Office Users

    Tuesday, April 17, 2012 5:18 PM
  • Bonjour,

    Une réponse à une question similaire a été apportée sur le forum developpement Access


    En espérant avoir pu rendre service (MehdiH)
    Retrouvez moi sur Office Users

    Tuesday, April 17, 2012 5:25 PM
  • Bonjour,

    Je n'été pas précise dans ma question je voudrais la commande SQL qui me permet de séléctioner tous les champs d'une table sauf un champ s'appelle CodeCleint, je peux pas le faire avec le   : SELECT * FROM DataBase.

    cette requête je vais l'intégrer dans un code VB.net

    merci

    Wednesday, April 18, 2012 8:30 AM
  • Il n'existe pas de syntaxe SQL du type "SELECT * moins un champs". Soit on utilise *, soit on spécifie chaque champs à inclure dans la requête.

    En VBA, il sera cependant possible de déterminer quels sont les champs disponibles, et donc de construire la requête dynamiquement, comme le fait l'assistant SQL.


    The Data Specialist (Blog)

    Wednesday, April 18, 2012 9:30 AM
  • Bonjour,

    C'est ce que j'avais compris au début puis en me rendant compte que la question était posée sur le forum Dev. Access, je me suis dit pourquoi ne pas profiter des fonctionnalités Access comme suit :

    1. Créer la requête en mode création puis tester la requête (Cela aura au moins l'utilité d'être sûr de votre requête)
    2. Basculer ensuite en mode SQL puis copier/coller la requête sous VBA

    Par contre il n'existe pas, à ma connaissance, d'opérateur, style *, qui permet de réaliser l'ajout des tous les champs sauf un.


    En espérant avoir pu rendre service (MehdiH)
    Retrouvez moi sur Office Users

    Wednesday, April 18, 2012 9:44 AM
  • Il n'existe pas de syntaxe SQL du type "SELECT * moins un champs". Soit on utilise *, soit on spécifie chaque champs à inclure dans la requête.

    En VBA, il sera cependant possible de déterminer quels sont les champs disponibles, et donc de construire la requête dynamiquement, comme le fait l'assistant SQL.


    The Data Specialist (Blog)

    Bonjour,

    comment peut déterminer quels sont les champs disponibles

    merci

    Wednesday, April 18, 2012 1:25 PM
  • Bonjour,

    C'est ce que j'avais compris au début puis en me rendant compte que la question était posée sur le forum Dev. Access, je me suis dit pourquoi ne pas profiter des fonctionnalités Access comme suit :

    1. Créer la requête en mode création puis tester la requête (Cela aura au moins l'utilité d'être sûr de votre requête)
    2. Basculer ensuite en mode SQL puis copier/coller la requête sous VBA

    Par contre il n'existe pas, à ma connaissance, d'opérateur, style *, qui permet de réaliser l'ajout des tous les champs sauf un.


    En espérant avoir pu rendre service (MehdiH)
    Retrouvez moi sur Office Users

    Bonjour,

    en effet je peux pas déterminer les nom des champs car mon application va travailler sur des structure différent .

    merci

    Wednesday, April 18, 2012 1:29 PM
  • Bonjour,

    Vous pouvez éventuellement énumérer la liste des champs de la table ou requête: voici un bout de code

    Private SUB ListerChampsTable
       Dim db As DAO.Database
       Dim tbl As DAO.TableDef
       Dim fld As DAO.Field
       Dim tblName As String
    
       tblName = "table1"
       Set db = CurrentDb()
       Set tbl = db.TableDefs(tblName)
    
       For Each fld In tbl.Fields
          MsgBox (fld.Name)
       Next fld
    End Sub
    
    Vous pourrez adapter ce code pour créer sous forme de chaine de caractère la liste des champs à inclure.

    En espérant avoir pu rendre service (MehdiH)
    Retrouvez moi sur Office Users

    Wednesday, April 18, 2012 1:48 PM
  • Bonjour,

    mon champ CodeClient est le premier champs de ma table je vais incrémenter du 2ème champ jusqu’à dernier champs et récupérer les champs dans un string et séparer les champs par des virgule comme ça je vais atteindre mon résultat.

    merci

    • Marked as answer by abdel.net Wednesday, May 02, 2012 10:41 AM
    Wednesday, April 18, 2012 3:23 PM
  • Bonjour,

    À mon tour de poser une question : quel est l'objectif recherché, qu'est qui est gênant de select le codeClient ?

    sinon, il suffit de faire un SELECT en en énumérant les champs :

    SELECT Champ1, Champ2, ... FROM Table

    Thursday, April 19, 2012 8:32 AM
  • Bonjour,

    À mon tour de poser une question : quel est l'objectif recherché, qu'est qui est gênant de select le codeClient ?

    sinon, il suffit de faire un SELECT en en énumérant les champs :

    SELECT Champ1, Champ2, ... FROM Table


    Bonjour,

    mon objectif et de concaténer plusieurs base de données qui ont la même structure en une seule, et pour cela j'ai utilisé la commande INSERT INTO, donc il faut retirer le CodeClient qu'est ma clé primaire dans ma requête sinon l’application ne peut pas concaténer les base (risque de doublons).

    cordialement
    Thursday, April 19, 2012 4:37 PM