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 :

SQL - ALTER COLUMN


Sujet :

Requêtes et SQL.

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    983
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 983
    Points : 1 030
    Points
    1 030
    Billets dans le blog
    36
    Par défaut SQL - ALTER COLUMN
    Bonjour


    Comment avec le SQL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE Table ALTER COLUMN [Dates] DATE
    je peux aussi forcer à SHORT DATE

    Merci par avance

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 840
    Points : 14 944
    Points
    14 944
    Par défaut
    bonsoir,
    avec ALTER COLUMN, il n'y a que 2 paramètres: Type et Size et ce dernier est réservé aux champs de type texte ou binaire.
    Short date est un format, je ne pense pas qu'il existe une instruction SQL pour cela, à part, bien sûr, en mode sélection.
    Tous les formats que l'on peut mettre dans l'interface de création son stockées dans des tables système Access et n'ont rien à voir avec le SQL.

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    983
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 983
    Points : 1 030
    Points
    1 030
    Billets dans le blog
    36
    Par défaut
    Merci tee_grandbois,


    Cette demande est consécutive à une opération de chargement de fichier Excel dont une colonne pose un problème à son chargement via la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docmd.TransferSpreadsheet
    En effet, en natif et donc sans retraitement il y a génération d’une table de log d’erreur de conversion sur la colonne évoquée plus haut car elle mélange des cellules au format date et général.

    Ayant rencontré par ailleurs des problèmes de conversion plus généralement j’ai écrit une routine qui ouvre un fichier excel passé en paramètre et sur lequel j’applique un formatage texte (@) ou date (short date) et le sauvegarde.

    Sauf pour cette colonne particulière, ça fonctionne très bien.

    Pour ne pas perdre des données de la colonne en raison des erreurs de conversion j’applique sur cette colonne un format texte (@)

    Puis une fois charge, j’ai essayé sans succès
    • ALTER COLUMN -> Reste en texte
    • Tabledef property -> reste en texte



    Une piste ?

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 840
    Points : 14 944
    Points
    14 944
    Par défaut
    Sauf pour cette colonne particulière, ça fonctionne très bien.
    qu'a t-elle de particulier ? as-tu un exemple ?
    Ne peux-tu pas remplacer le format date dans le fichier Excel par nombre général ?
    Il ne faut pas oublier qu'une date est un nombre comme toutes les dates présentes dans les applications Office et c'est ce qui a de plus facile à convertir en date.
    Cdate(43449) donnera toujours 15/12/2018 dans Excel ou Access.

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    983
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 983
    Points : 1 030
    Points
    1 030
    Billets dans le blog
    36
    Par défaut
    Merci tee_grandbois pour cette solution.

    Le truc est de savoir comment Excel va se comporter quand il y a deux types de format
    • Date (MM/DD/YYYY)
    • Général (DD-JAN-YYYY)


    Ne peux tester ce weekend, donc suspense

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 840
    Points : 14 944
    Points
    14 944
    Par défaut
    bonjour,
    Le truc est de savoir comment Excel va se comporter quand il y a deux types de format

    Date (MM/DD/YYYY)
    Général (DD-JAN-YYYY)
    justement, le format n'est qu'une représentation de la date réelle, donc aucun problème:

    Nom : _format_dates.JPG
Affichages : 272
Taille : 17,6 Ko

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/10/2008, 00h01
  2. [VB6] Alter table alter column syntaxe
    Par enibris dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 13/04/2006, 17h11
  3. Clauses ALTER COLUMN multiples sous Access 2000
    Par richardkiii dans le forum Access
    Réponses: 10
    Dernier message: 30/03/2006, 09h01
  4. Réponses: 5
    Dernier message: 12/12/2005, 13h13
  5. Alter column => passer de NOT NULL à NULL
    Par JohnGT dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/10/2003, 11h16

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