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

Access Discussion :

inserer une colonne dynamique dans une table


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 26
    Points : 11
    Points
    11
    Par défaut inserer une colonne dynamique dans une table
    Bonjour à tous,
    je ne connais pas access et je dois, si c'est possible, inserer une colonne dynamique dans une table.
    Je m'explique j'ai une colonne date, et je voudrais créer une colonne avec uniquement les années (format numérique). Le probleme est que je ne peux pas faire de requete car je veux exporter une table access (requete non lu sur l'application exporter).
    J'espere que j'ai ete claire.
    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,

    Le probleme est que je ne peux pas faire de requete car je veux exporter une table access (requete non lu sur l'application exporter).
    Je ne vois pas trop le soucis... Il faudrait que tu expliques un peu plus ce point : j'aimerais comprendre pourquoi ce n'est pas possible ?

    Il y a 2 solutions :
    1. Ajouter un champ à la table avec la Méthode Append de l'objet Fields
    2. Faire une requête

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 26
    Points : 11
    Points
    11
    Par défaut
    Mon application aigle(application de cartographie interactive) ne connait que les tables access, il n'arrive pas à lire les requetes.
    Je suis donc interréssée par ta premiere solution. Est il possible de me l'expliquer.
    Merci d'avance.
    Natacha

  4. #4
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Ok,

    Par contre avant d'aller plus loin :
    Pourquoi ne pas modifier directement la table manuellement (ajout du champ + propriété) et ensuite écrire un code qui mettra à jour les enregistrements déjà présents et modifier le formulaire de saisie (s'il existe) pour ensuite mettre à jour le champ année à chaque ajout d'enregistrement ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 26
    Points : 11
    Points
    11
    Par défaut
    Cette solution me parait la bonne, sauf que je n'est pas de formulaire de saisie. La saisie se fait dans mon application de carto...
    N'est il pas possible à chaque ajout d'enregistrement dans ma table access de recalculer cette colonne année?
    Encore merci Natacha

  6. #6
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Et bien il n'y a qu'à ajouter le champ dans ton logiciel de carto

    Nan sérieux j'essaie de trouver une solution simple pour toi...
    N'est il pas possible à chaque ajout d'enregistrement dans ma table access de recalculer cette colonne année?
    Peut tu programmer quelque chose sur ton logiciel de cartographie ??

    Si ce n'est pas le cas : il te faudra lancer une procédure manuellement...

    tu crées ta colonne dans la table plus un champ de type oui/non dans mon exemple il s'appelle Fait)
    tu crées une requête avec le champ contenant la date et le champ année

    Dans un module :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub MiseaJourAnnee ()
     
    DoCmd.RunSQL "UPDATE Table1 SET Table1.Annee = Year([DateCreation]), Table1.Fait = -1 WHERE ((([Table1]![Fait])=0));"
     
    End Sub

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 26
    Points : 11
    Points
    11
    Par défaut
    On regarde pour ajouter le champs dans le logiciel carto...
    Mais sinon quel est la syntaxe de la requete, et à quoi sert le champ "fait".

  8. #8
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    En fait, ta requête va te mettre à jour les champs année pour les enregistrements pour lesquels le champ Fait est faux.

    On regarde pour ajouter le champs dans le logiciel carto...
    Si tu peux le faire et que tu peux également mettre à jour le champ Année : alors c'est au poil

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 26
    Points : 11
    Points
    11
    Par défaut
    j'ai fait un test mais ça ne marche pas.
    J'ai pas du faire ce qu'il falait. Je le transmets.
    Merci d'avance.
    Fichiers attachés Fichiers attachés

  10. #10
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Citation Envoyé par natacha5
    Mais sinon quel est la syntaxe de la requete, et à quoi sert le champ "fait".
    j'ai lu trop vite
    En fait la requête est directement dans le code.

    De plus tu peux éviter les messages :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub MiseaJourAnnee ()
     
    DoCmd.SetWarnings False 
    DoCmd.RunSQL "UPDATE Table1 SET Table1.Annee = Year([DateCreation]), Table1.Fait = -1 WHERE ((([Table1]![Fait])=0));"
    DoCmd.SetWarnings True
     
    End Sub

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 26
    Points : 11
    Points
    11
    Par défaut
    désolée mais j'y arrive pas!
    Le code que tu m'as donné je le colle dans un module mais apres quand j'exécute mon module mon champs Annee n'est pas rempli.
    Ce que j'aimerais c'est une fois que je lance ce module ma colonne Annee soit renseignée.
    Je suis novice en access et comprends pas grand chose...

  12. #12
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Je viens de tester : ça fonctionne bien...
    As tu penser à adapter le code que je t'ai donné en fonction des noms de ta tables et de tes champs ??

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 26
    Points : 11
    Points
    11
    Par défaut
    youpi, ça marche.
    Merci beaucoup.
    Je sais pas si c'est possible, mais ne peux t'on pas faire une "macro" qui fait que quand j'enregistre ma table alors mon module qui me permet de remplir la colonne Année soit activé?
    Si c'est pas possible tant pis.

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/03/2015, 11h46
  2. Réponses: 7
    Dernier message: 18/06/2012, 11h30
  3. Réponses: 3
    Dernier message: 29/03/2011, 20h38
  4. Réponses: 8
    Dernier message: 26/03/2010, 08h16

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