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 :

requete ALTER TABLE pour ajout de champ


Sujet :

Requêtes et SQL.

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 154
    Par défaut requete ALTER TABLE pour ajout de champ
    Bonjour,
    Je dois lancer la requête suivante sur ma table, mon but étant d'ajouter un champ numéroauto, et le forcer à démarrer à 1 :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE [Trame]
    ADD nui COUNTER(1);

    Cette requete marche, mais elle ajoute toujours le champ en fin de table.

    =>Comment puis-je faire pour ajouter ce champ en début de table ?

    Merci pour votre aide...


    (ou autre solution pour avoir un champ équivalent, qui "numérote" les enregistrements, en démarrant à 1)

  2. #2
    Membre confirmé
    Femme Profil pro
    Database
    Inscrit en
    Juin 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Database

    Informations forums :
    Inscription : Juin 2010
    Messages : 125
    Par défaut
    Bonjour,

    Mysql permet d'insérer une colonne en premier via la commande "FIRST", la syntaxe est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE tbl_name
      ADD [COLUMN] column_def FIRST
    Mais je ne suis pas sûr que cette option existe au niveau d'access....

    Bonne recherche

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 154
    Par défaut
    La nuit porte conseil, voici une façon simple de créer un "faux" numéroauto :

    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
    Public Function numérote(matable As String, monchamp As String)
       Dim rst  As DAO.Recordset
       Dim wrk As Workspace
       Dim i As Integer
     
        Set wrk = DBEngine.Workspaces(0)
        Set rst = CurrentDb.OpenRecordset(matable)
        i = 0
     
        While Not rst.EOF
          i = i + 1
          rst.Edit
          rst.Fields(monchamp).Value = i
          rst.Update
          rst.MoveNext
        Wend
    End Function

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 678
    Par défaut
    salut,
    a noter que l'ajout du champs en "premier" n'est pas vraiment pertinent, dans la mesure ou les champs sont interchangeables et leur ordre ne depend que de celui que l'utilisateur souhaite leur appliquer
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 154
    Par défaut
    On peut effectivement modifier l'ordre des champs au niveau d'un SELECT, bien vu ...

  6. #6
    Membre expérimenté
    Inscrit en
    Mai 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 179
    Par défaut
    Voici comment on redresse l'odre des colonnes d'une table après l'orde Alter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    currentdb.execute "ALTER TABLE [Trame] ADD nui COUNTER(1);"
    currentdb.TableDefs("trame").Fields("Nui").OrdinalPosition = 1
    L'ecriture de cette ligne n'oblige pas à charger le moteur DAO

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 154
    Par défaut
    Wow, super, je ne pensais même pas que ce soit possible aussi simplement !

Discussions similaires

  1. Simuler une jointure pour ajouter des champs à une table
    Par Camelia17 dans le forum DataStage
    Réponses: 0
    Dernier message: 28/01/2015, 16h18
  2. [AC-2010] Requete de comparaison pour tous les champs entres 2 tables
    Par helico57570 dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 03/04/2014, 12h56
  3. [AC-2007] Requête pour ajouter une champ calculé à une table
    Par GroFlo dans le forum IHM
    Réponses: 2
    Dernier message: 14/02/2012, 15h51
  4. Alter table pour l'ajout de contrainte not null
    Par jean sami dans le forum SQL
    Réponses: 6
    Dernier message: 18/09/2008, 17h42
  5. Modifier un etat pour ajouter un champ d'un autre table
    Par Monsieur Peck dans le forum Access
    Réponses: 2
    Dernier message: 21/06/2006, 10h08

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