[ACCESS] Rajouter un champ dans une table

Résolu
Bonjour,

je souhaite rajouter, via le code, un champ à une de mes tables.
(champ nommé 'date', de type texte.)

J'ai donc mis cette ligne dans mon code :
DoCmd.RunSQL "ALTER TABLE tbl_serveurs ADD COLUMN Date TEXT;"


(c'est quasiment le copié collé de l'aide d'access) et là il me dit 'erreur 3292 : erreur de syntaxe dans la définition de champ'.

Pourtant la syntaxe me semble bonne, quelqu'un a une idée plize?
--
**Enigmatoile**
Configuration: Windows XP
Internet Explorer 6.0

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut,

    'date' est un mot réservé, change le nom de la colonne ou mets-le entre [].
    DoCmd.RunSQL "ALTER TABLE tbl_serveurs ADD COLUMN [Date] TEXT;"
    --
    A+ Blux
     "Les cons, ça ose tout.
    C'est même à ça qu'on les reconnait"
    1. Mici Blux :)

      J'oserai une dernière question (après promis j'arrete..... au moins pour aujourd'hui :))

      Je veux mettre une valeur par défaut à mon champ Date que je viens de créer, j'utilise ce code mais erreur de syntaxe...

      DoCmd.RunSQL "ALTER TABLE tbl_serveurs ALTER COLUMN [Date] TEXT DEFAULT 'mai07' ;"


      Anybody knows?
    2. Modérateur
      On ne peut pas en DDL (enfin, moi j'ai jamais réussi !)

      Il faut faire du VBA :
      CurrentDb.TableDefs("matable")("monchamp").Properties("DefaultValue").Value = "mavaleur"
      --
      A+ Blux
       "Les cons, ça ose tout.
      C'est même à ça qu'on les reconnait"
    3. @bluxMerci...

      Bon, en fait je me suis pareçue que c'est pas vraiment ça que je veux faire.

      Ce que je veux, c'est maintenant que j'ai ajouté mon champ 'Date', mettre sa valeur à 'mai07' pour tous les enregistrements.

      Je sais que je peux faire ça via une requete mise à jour, mais si je peux faire autrement ça m'arrange...

      Est ce il possible?
    4. @enigmatoileEuh en fait j'ai trouvé, super simple :

      DoCmd.RunSQL "UPDATE tbl_serveurs SET [Date]='mai07' ;"