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

Bases de données Delphi Discussion :

[SQL Access] Modifier la structure d'une table


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    Chef de projet
    Inscrit en
    Juin 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 101
    Points : 122
    Points
    122
    Par défaut [SQL Access] Modifier la structure d'une table
    Bonjour,

    La nouvelle version de mon logiciel nécessite la modification de la structure d'une table (ajout de 3 champs supplémentaires).

    Le poste client n'étant pas équipé d'ACCESS, je fais un petit programme que je lancerai après la mise à jour.

    Le but de ce petit programme est d'ajouter 3 champs dans une table existante.
    Pour ces nouveaux champs, je dois préciser le type (texte), la taille, la valeur par défaut, et le format.

    Je souhaite le faire par une requête SQL (Alter table...), mais je ne trouve nulle part d'infos sur la syntaxe d'une telle reqête...

    Si qq'un à une expérience similaire, je suis preneur.

    Merci.

    Le Lézard.

  2. #2
    Membre régulier
    Homme Profil pro
    Chef de projet
    Inscrit en
    Juin 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 101
    Points : 122
    Points
    122
    Par défaut
    Bon, j'avance un peu :

    Pour ajouter les champs,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Alter TABLE Table_1 ADD 
      New1 Text(3), 
      New2 text(5), 
      New3 text(15)
    Il me manque encore la syntaxe pour la valeur par défaut, et le format...

  3. #3
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Points : 1 561
    Points
    1 561
    Par défaut
    tu vas simplement voir l'excellent document de SqlPro ici

    et tu recherches dans la page ALTER

    Par ailleurs, quels sont les formats des champs que tu ajoutes ?
    Quelles sont les contraintes pour chaque champ ?

    Cordialement

  4. #4
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Points : 1 561
    Points
    1 561
    Par défaut
    Citation Envoyé par Le Lézard
    Bon, j'avance un peu :

    Pour ajouter les champs,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Alter TABLE Table_1 ADD 
      New1 Text(3), 
      New2 text(5), 
      New3 text(15)
    Il me manque encore la syntaxe pour la valeur par défaut, et le format...
    remplacer text respectivement par varchar[3], varchar[5], varchar[15]

  5. #5
    Membre régulier
    Homme Profil pro
    Chef de projet
    Inscrit en
    Juin 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 101
    Points : 122
    Points
    122
    Par défaut
    Merci pour toutes ces infos (le document de SqlPro est très complet), mais je n'arrive pas à spécifier les valeurs par défaut.

    La syntaxe sous Access est-elle différente ?

    Ca fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Alter TABLE Table_1 ADD 
      New1 Text(3), 
      New2 text(5), 
      New3 text(15)
    Ca fonctionne aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Alter TABLE Table_1 ADD 
      New1 Varchar(3), 
      New2 Varchar(5), 
      New3 Varchar(15)
    Ca ne fonctionne pas (erreur de syntaxe) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Alter TABLE Table_1 ADD 
      New1 Varchar(3) Default 'ABC', 
      New2 Varchar(5)  Default 'ABCDE', 
      New3 Varchar(15) Default 'AZERTYUIOPQSDFG'
    En suivant le document, j'ai également essayé mais ça ne fonctionne pas non plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Alter TABLE Table_1 
      Alter New1 set Default 'ABC'
    Je n'ai plus de piste...

  6. #6
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Points : 1 561
    Points
    1 561
    Par défaut
    et avec cela pour indiquer la contrainte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ALTER TABLE Table_1 WITH NOCHECK ADD 
      CONSTRAINT [DF_Table_1_New1] DEFAULT ('ABC') FOR [New1]
    Il se peut que cela ne fonctionne pas car ce type de syntaxe fonctionne avec SQLServer. Donc peut-être avec une base accès ???

    Tiens moi au courant
    Cordialement

  7. #7
    Membre régulier
    Homme Profil pro
    Chef de projet
    Inscrit en
    Juin 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 101
    Points : 122
    Points
    122
    Par défaut
    Non, même résultat : Erreur de syntaxe dans l'instruction Alter Table

    A priori, c'est juste un pb sur la syntaxe ACCESS.

    J'ai vu qu'il y avait un forum dédié à ACCESS. Je vais aller y faire un tour.

    Mais je suis toujours preneur de toute info...

    En tout cas, merci encore.

Discussions similaires

  1. modifier la structure d'une table sql server2000
    Par pigeon11 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 19/03/2009, 18h18
  2. Modifier la structure d'une table
    Par kroma23 dans le forum InterBase
    Réponses: 1
    Dernier message: 14/02/2009, 11h42
  3. modifier la structure d'une table
    Par kroma23 dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/01/2009, 16h05
  4. Modifier la structure d'une table par macro / vba
    Par zermatt dans le forum Access
    Réponses: 8
    Dernier message: 21/01/2007, 15h32
  5. Modifier la structure d'une table
    Par sami_c dans le forum WinDev
    Réponses: 3
    Dernier message: 01/10/2006, 20h00

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