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 :

Modifier le type de données d'un champ


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Modifier le type de données d'un champ
    Bonjour,

    Dans une requête je calcule un poids cumulé que je nomme SomCumul. La formule est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SomCumul: SomDom("SommeDeREL_ENTRANT_NB_TENTATIVES";"FLUX_ENTRANT_base_dep";"ci1 =" & [ci1] & " and N°1 <=" & [1])
    Mon problème vient du fait que je veux convertir ce champ (créé automatiquement en TEXTE) en NUMERIQUE. La solution simple consistant à modifier les propriétés de la table manuellement ne me convient pas car je veux automatiser le traitement. j'ai tenté d'exécuter du code SQL de la sorte :

    ALTER TABLE flux_entrant_base_dep MODIFY SomCumul INTEGER

    mais de toute évidence la syntaxe est incorrecte. Comment puis-je procéder ?

    Merci par avance.

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Il s'agit d'un calcul il n'est donc pas stocké dans une table

    Soyez plus précis, votre problème est peu compréhensible

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Effectivement j'ai manqué de précision.

    Dans un premier temps, je suis sous ACCESS 2003.

    Je travaille sur la table FLUX_ENTRANT_base_dep, celle-ci contient un certain nombre de champ auquel j'ai rajouté une clé N°1 (de type counter) afin d'effectuer un cumul.

    Au sein de ma requête access j'ai rajouté une colonne SomCumul qui va à partir des informations de ma table FLUX_ENTRANT_base_dep calculé le poids cumulé (chaque case est la somme de tous les précédents).

    Je précise qu'il s'agit d'une requête de création de table. C'est-à-dire que la table de sortie nommée FLUX_ENTRANT_cumul_dep contient les mêmes champs que FLUX_ENTRANT_base_dep auquel s'ajoute une nouvelle colonne SomCumul.

    Je considère donc que cette nouvelle table contient bien en dur les valeurs du poids cumulé.

    Mon problème réside dans le fait que ce nouveau champ SomCumul se crée automatique en type TEXTE et que ça ne me convient pas du tout car plus loin je mets à jour un champ de type NUMERIQUE avec les valeurs de SomCumul (et je perds des valeurs car la taille des nombres est trop grande de toute évidence).

    En cliquant droit sur ma table FLUX_ENTRANT_cumul_dep je peux effectivement changer le champ SomCumul de TEXTE en NUMERIQUE mais comme je le précisais ce n'est guère commode de procéder de la sorte.

    Je souhaitais savoir comment modifier le type de SomCumul de manière systématique (lors de l'exécution de ma macro finale). Ne touchant pas au VBA je pensais que du code SQL pouvait suffire.

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Bonjour

    Tu peux simplement créer ta table avec les types souhaité et remplacer la requête de création de table par une requête d'ajout. Il faut juste vider la table avant.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    L'idée me parait intéressante effectivement. Je te remercie.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Je considère la discussion close si il n'y a pas d'autres propositions.

    Merci et à bientôt.

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

Discussions similaires

  1. modifier le type de donnée d'un champ calculé
    Par adelneo dans le forum SQL
    Réponses: 2
    Dernier message: 24/02/2011, 10h54
  2. Réponses: 3
    Dernier message: 20/03/2008, 11h07
  3. Type de données d'un champ d'un ADODB.Recordset
    Par GodGives dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 07/12/2007, 11h01
  4. quel type de donnée pour un champs de ma table ?
    Par nabians dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 04/08/2007, 21h33
  5. Conversion de type de données d'un champ dans un recordset DAO.
    Par heavenvibes dans le forum VBA Access
    Réponses: 9
    Dernier message: 01/03/2007, 12h21

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