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 :

Ajout d'un champ dans une table liée


Sujet :

Requêtes et SQL.

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut Ajout d'un champ dans une table liée
    Bonjour,

    Voilà mon soucis : J'ai une frontale et une dorsale (donc des tables liées) et je dois ajouter un champs à une table.
    Je souhaite le faire en SQL et éxécuter cette requête au demarrage de l'application (ou sur click d'un bouton). Pourquoi ? Tout simplement parce que j'ai distribuée ma base, et que pour une certaine MAJ, je dois ajouter un champs ! Je ne vais donc pas demander aux personnes (qui s'y connaissent pas forcement) d'aller trifouiller dans les tables pour ajouter ce champ.

    Le problème, c'est qu'il n'est pas possible d'ajouter des champs dans des tables liées. Comment faire donc ?

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    Tu n'as pas besoin de demander aux utilisateurs de modifier quoi ce soit, le principe des tables liées c'est que les données se trouvent sur ta base dorsale et que tu viens par des liaisons consulter ces tables, il te suffit d'ajouter ton champ dans ta table de ta bdd Dorsale, toutes tes apllis utilisateurs seront automatiquement à jour.

    Dolphy

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    Oui, mais le problème en faisant ça, c'est que lorque je vais leur fournir la nouvelle dorsale, ils vont écraser leur ancienne, et donc supprimer toute leurs données (Ce que bien évidemment je ne souhaite pas) !

  4. #4
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Citation Envoyé par Herman
    Oui, mais le problème en faisant ça, c'est que lorque je vais leur fournir la nouvelle dorsale, ils vont écraser leur ancienne, et donc supprimer toute leurs données (Ce que bien évidemment je ne souhaite pas) !
    Je ne comprend pas une chose, chaque utilisateur possède une dorsale ?

  5. #5
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonsoir,

    Citation Envoyé par Herman
    Oui, mais le problème en faisant ça, c'est que lorque je vais leur fournir la nouvelle dorsale, ils vont écraser leur ancienne, et donc supprimer toute leurs données (Ce que bien évidemment je ne souhaite pas) !
    Si je comprends bien, tu cherches à coder les modifications de la dorsale dans le frontal, de sorte qu'elle soit modifiée lors de la diffusion de la nouvelle version de l'application.

    Tu peux appliquer des modifications à la dorsale en ouvrant cette dorsale en vba, le temps de lui appliquer les modifs.
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    Oui Dolphy. En fait, l'application est diffusée dans différents établissements. Donc pour un même établissement, les utilisateurs utilisent tous la même dorsale. Par contre, entre 2 établissements il n'y a aucun lien, et donc deux dorsales différentes (les même en fait, il y a juste les données qui changent)

    C'est comme si tu développais une appli pour des écoles. Au sein même d'une école, les gens vont tous utiliser la même dorsale. Par contre entre ton école à Lille et celle à Montpellier, il ne va y avoir aucun lien (les info dans la dorsale respectent le même schéma mais ne sont pas les mêmes).
    Mais si tu fait des mises à jour au niveau des champs (tu ajoutes deux champs par exemple) parce qu'il y a une demande générale d'amélioration de telle ou telle chose, il va bien falloir que tu redifuses à TOUT le monde (toutes les écoles dans mon exemple) ta nouvelle dorsale avec les nouveaux champs sans pour autant que les données qu'ils ont saisi depuis le début soient effacées. Et là est mon problème.
    Citation Envoyé par Dolphy
    il te suffit d'ajouter ton champ dans ta table de ta bdd Dorsale, toutes tes apllis utilisateurs seront automatiquement à jour.
    Et pour ça, je n'ai pas accés à leur dorsale, puisque j'ai difusé mon application dans toute une région. Donc si je voulais faire l'ajout des champs directement dans leur dorsale (ce qui serais beaucoup plus facile ^^) je dois me déplacer à 8 endroit dans toute la région.
    J'ai juste la dorsale vierge de base que j'ai développé. J'ai donc ensuite diffusé mon application aux 8 personnes, qui les ont rempli à leur gré, et maintenant je dois faire une MAJ de la base (MAJ qui comporte l'ajout de 2 champs)

    @mout1234 :

    Oui voilà je voudrais faire quelque chose comme ça. Sur l'idée c'était ça, par exemple à la première ouverture de la frontale, je leur demande de clicker sur un bouton qui disparaitra après, et sur ce bouton je met le code pour ajouter les deux champs, et voilà c'est réglé.
    Par contre sur la réalisation du truc, il me manque pas mal de connaissance pour arriver à faire ça :/ D'où mon problème.

  7. #7
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Un petit exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test()
     
    Dim oDB  As DAO.Database
     
     
        Set oDB = DBEngine.OpenDatabase("c:\comptoirs.mdb", True)
     
        oDB.Execute "ALTER TABLE Clients ADD COLUMN Test Text", dbFailOnError
     
        oDB.Close: Set oDB = Nothing
     
    End Sub
    Tu peux aussi utiliser les commandes DAO (CreateField, CreateTable...)
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    Ah nikel ça marche Merci

    Petite question annexe, comment faire pour afficher une seule fois un bouton pour ensuite le faire disparaitre (voir le supprimer) quand la personne a clické dessus ?

  9. #9
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Citation Envoyé par Herman
    Ah nikel ça marche Merci

    Petite question annexe, comment faire pour afficher une seule fois un bouton pour ensuite le faire disparaitre (voir le supprimer) quand la personne a clické dessus ?

    Le plus simple est de mettre un paramètre dans une table de la dorsale et dans le frontal. Pour ma part, je place un numéro de version dans les deux et je lance un code de mise à jour au démarrage qui execute le code prévu pour chaque passage de version séparant la version de la dorsale de celle du frontal.
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  10. #10
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    ok, merci =)

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

Discussions similaires

  1. ajout d'un champ dans une table et formulaire
    Par lounacou dans le forum IHM
    Réponses: 8
    Dernier message: 11/02/2011, 12h06
  2. Ajout d'un champ dans une table
    Par Fiorenzo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/03/2009, 14h59
  3. Ajout d'un champs dans une table - Non manuellement
    Par MurielVBA dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 14/01/2008, 13h25
  4. Ajout d'un champ dans une table Access
    Par Didier100 dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/12/2007, 14h27
  5. Comment modifier un champ dans une table liée ?
    Par HookerSeven dans le forum Access
    Réponses: 11
    Dernier message: 05/02/2006, 23h50

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