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 :

Creation d'une cle primaire sur une table attachée


Sujet :

Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Creation d'une cle primaire sur une table attachée
    Bonjour ,

    J'ai besoin de votre aide pour le problème suivant:

    Je suis en train de créer une interface qui permettra aux utilisateurs de mettre à jour les données de différentes tables de la base associée.

    J'ai attaché les différentes tables de la base sur lesquelles l'interface agit, mais une des tables n'a qu'un index non unique.
    Et apparemment, quand une table n'a pas d'index unique, Access narrive pas à créer l'index/cle lors du chargement de la table.
    Donc à l'ouverture, la table en question n'a pas d'index dans Access et les requetes d'update sur cette table ne marchent donc pas.

    J'ai essayé de créer "manuellement" l'index en vba (en utilisant CreateIndex) mais Access me donne un message d'erreur disant que ce type d'operation n'est pas possible sur des tables attachées.

    Que puis je faire sachant que je ne peux pas modifier les index de la table bien sur ??

    Merci d'avance pour votre aide.

  2. #2
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Bonjour,

    j'imagine que tes tables liées ne sont pas des tables Access ?

    De plus, pourquoi ne pas le faire directement sur la table dans la base de données où elle se trouve ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Les tables que j'attache sont des tables ODBC d'une base Sybase.

    Je ne préfère pas toucher à la structure des tables car je ne sais pas quel en serait l'impact et comme je suis au boulot.... Je ne veux pas risquer de tout casser .

    Pourquoi Access n'arrive t il pas à créer une cle primaire sur les tables attachées qui n'ont pas d'index non unique?

    Merci

  4. #4
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Je pense qu'il n'a pas les droits, tout simplement.

    Une solution (peu élégante) serait de créer une copie sous Access de cette table et ainsi il serait possible de rajouter l'index.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut cle primaire sur table attachée ayant index>10 champs
    Oui j'ai pensé à faire une copie mais après je ne sais pas comment faire pour aller mettre à jour la vraie table.

    Mais désolé, je me suis trompé:
    l'index sur ma table est bien unique mais le problème est qu'il comprend 11 champs et qu'Access ne sait pas faire de clé primaire de + de 10 champs.
    Mais la conséquence reste la même: sans clé primaire sur ma table access, je ne peux rien mettre à jour.

    Une idée?
    Merci beaucoup de votre aide

  6. #6
    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 : 40
    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
    On ne peut pas modifier la structure des tables attachées ...

    Il faut les modifier directement dans leur SGBD

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    si tu n'as pas le droit de modifier peux tu ajouter et supprimer des
    enregistrements ?
    si c'est le cas ça devrait règler le problème si tu n'as pas de champ compteur
    Elle est pas belle la vie ?

  8. #8
    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 : 40
    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
    Citation Envoyé par random
    si tu n'as pas le droit de modifier peux tu ajouter et supprimer des
    enregistrements ?
    si c'est le cas ça devrait règler le problème si tu n'as pas de champ compteur
    Je crois que le but est de modifier la structure et non le contenu .. enfin je pense

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Bonjour à tous,

    Le but de l'interface que je veux créer est d'ajouter des enregistrements dans une table.
    J'ai donc attaché cette table à mon projet access.
    Mais à chaque ouverture d'access, l'application n'est pas capable de défnir la clé primaire de cette table car l'index de cette table est un index unique sur 11 champs.
    Donc, comme il n'y a pas de clé dans la table, j'ai un message d'erreur qui s'affiche quand je clique sur les boutons qui déclenchent les requetes d'Update.
    La seule fois où ca a marché, c'est lorsque j'ai attaché la table car à ce moment là, Access me demande quels champs je veux mettre dans la clé de la table. Là j'en avais choisi 9 (les 11 champs de l'index ne me sont pas tous utiles) et les requetes d'update avaient ensuite fonctionné correctement. Mais ensuite, lorsque j'ai fermé et ré-ouvert Access, il n'avait pas conservé la clé primaire qu'il m'avait demandé lors de l'attachement, dons plus d'update possible car plus de clé sur la table....
    N'y a t il pas un moyen de dire à Access de garder comme clé primaire les champs choisis lors de l'attachement même s'ils sont différents des champs du véritable index de la table?

    De plus, comme la base de données fait partie d'un progiciel très complexe, je ne peux pas me permettre de changer l'index ou la structure de la table car je ne maitrise pas du tout les impacts de cette modif.

    Pour info, il ya aussi une autre table que je dois mettre à jour avec la meme interface, mais comme la clé de cette autre table n'est "que" sur 8 champs, je ne rencontre aucun pb pour y insérer des enregistrements.

    J'espère que qqun pourra m'aider
    Merci beaucoup d'avance

Discussions similaires

  1. Déterminer une clé primaire sur une table inconnue
    Par Gillou6772 dans le forum DB2
    Réponses: 4
    Dernier message: 06/10/2012, 16h07
  2. Une contrainte "unique" sur une clé primaire
    Par Invité1 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/04/2010, 21h11
  3. Referencer une cle primaire d'une autre base
    Par Drakkhen dans le forum Développement
    Réponses: 1
    Dernier message: 28/08/2009, 15h54
  4. enlever et remettre une cle primaire dans une table.
    Par scons dans le forum VBA Access
    Réponses: 3
    Dernier message: 30/07/2008, 15h17
  5. comment supprimer une clé primaire d'une table ?
    Par polianita dans le forum Access
    Réponses: 10
    Dernier message: 03/08/2006, 15h34

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