Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > Conception

Conception Le forum qui vous aide à résoudre vos questions relatives à la modélisation de votre base de données sous Access.

Réponse
 
Outils de la discussion
Vieux 30/07/2008, 14h46   #1 (permalink)
Débutant(e)
 
Date d'inscription: juillet 2007
Localisation: Touraine
Âge: 31
Messages: 700
Par défaut Index et valeur Null

Bonjour,
J'ai une question qui va paraître bête mais bon ...
J'ai créé une T_jonction ayant 2 clés primaires provenant de 2 autres tables (T_annonces et T_media donc refannonces et codemed).
J'ai pris soin de mettre le codemed en texte afin que dans ma T_jonction, je puisse le mettre en liste de choix.

Le hic, c'est que je fais des essais d'enregistrements et que je veux les effacer, j'ai le problème de ' l'index ou clé prinicpale qui ne peut contenir une valeur Null'

Comment je peux éviter ce petit désagrément car je dois quand même livrer ma base sans valeur aucune ?
Nessie37 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 15h42   #2 (permalink)
Expert Confirmé Sénior
 
Date d'inscription: octobre 2005
Messages: 2 519
Par défaut

Quand tu dis que tu as 2 clefs primaires sur ta table, tu veux dire que tu as une clef primaire composées de 2 champs, c'est bien cela ?

Sauf erreur de ma part, on peut avoir 1 clef primaires et presque autant d'indexs uniques qu'on le souhaite mais pas plusieurs clef primaires.

Citation:
Le hic, c'est que je fais des essais d'enregistrements et que je veux les effacer, j'ai le problème de ' l'index ou clé prinicpale qui ne peut contenir une valeur Null'
Essayes-tu de ne supprimer le contenu que d'un seul des deux champs ?

Pourquoi ne peux-tu pas supprimer le couple refannonces et codemed ?

Citation:
J'ai pris soin de mettre le codemed en texte afin que dans ma T_jonction, je puisse le mettre en liste de choix.
Ce n'est pas indispensable on peut très bien mettre une liste de choix sur un camp qui n'est pas de type texte, je fais cela régulièrement avec des autonum. Il suffit de présenter une liste avec 2 colonnes : Clef + Libellé. Et, en jouant avec la largeur des colonnes (une colonne de 0 de large n'est pas affichée) on peut même masquer le numéro utilisé.

A+
__________________
Merci de ne pas poster pour des pb techniques dans les messages privés.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 17h05   #3 (permalink)
Débutant(e)
 
Date d'inscription: juillet 2007
Localisation: Touraine
Âge: 31
Messages: 700
Par défaut

Citation:
Envoyé par marot_r Voir le message
Quand tu dis que tu as 2 clefs primaires sur ta table, tu veux dire que tu as une clef primaire composées de 2 champs, c'est bien cela ?
Dans ma T_jonction, j'ai mis les clés primaires de 2 autres tables. Mon vocabulaire n'est peut-être pas approprié du coup. En tout cas, j'ai les 2 clés dans cette T_jonction


Citation:
Envoyé par marot_r Voir le message
Essayes-tu de ne supprimer le contenu que d'un seul des deux champs ?
En fait, pour tester ma T_jonction, j'avais sélectionné un média et quand j'ai voulu le supprimer, ça m'a mis ce message. La sélection du média c'était via le codemed (mis en liste déroulante)



Citation:
Envoyé par marot_r Voir le message
Ce n'est pas indispensable on peut très bien mettre une liste de choix sur un camp qui n'est pas de type texte, je fais cela régulièrement avec des autonum. Il suffit de présenter une liste avec 2 colonnes : Clef + Libellé. Et, en jouant avec la largeur des colonnes (une colonne de 0 de large n'est pas affichée) on peut même masquer le numéro utilisé.

A+
Bah en fait, je vais essayer d'être claire. Ma table MEDIA avait en ID codemed de type numérique ou Numauto je ne sais plus...plus un champ libellé. Il se trouve que dans ma table de jonction (T_jonction), je dois retrouver le codemed mais sous forme de liste déroulante. Jusque là, tout va bien. Mais quand j'ai voulu appliquer l'intégrité ref. il y avait une incompatibilité donc j'ai mis texte dans le table MEDIA, et ai pu mettre en liste déroulante dans le T_jonction

Du moins j'ai compris que ça venait de la différence de propriété... du coup, j'ai repassé MEDIA.codemed en type texte...
Nessie37 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/10/2008, 18h10   #4 (permalink)
Débutant(e)
 
Date d'inscription: juillet 2007
Localisation: Touraine
Âge: 31
Messages: 700
Par défaut

Donc comment faire pour livrer ma base complètement vide et sans avoir de problème ?
Nessie37 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 17/10/2008, 10h29   #5 (permalink)
Modérateur
 
Avatar de CinePhil
 
Date d'inscription: août 2006
Localisation: Toulouse
Âge: 45
Messages: 1 314
Envoyer un message via MSN à CinePhil
Par défaut

Tu n'as compris le principe de conception qu'à moitié !

Je déduis de ce que tu as écrit l'association suivante :
Annonce -0,n----Joindre----0,n- Media

Ce qui te donne normalement les tables suivantes :
T_Annonces(A_Id, A_RefAnnonce, ...)
T_Media(M_Id, M_Libelle, ...)
T_Jonction(J_IdAnnonce, J_IdMedia, ...)

Tu as donc une clé primaire double dans la table de jonction qui est composée des deux clés primaires des tables concernées par l'association. Ces deux colonnes sont des clés étrangères dans la table de jonction.

Selon le principe de l'intégrité référentielle, si tu supprimes une annonce ou un media, tu supprimes aussi toutes les lignes de la table de jonction qui concernent l'annonce ou le media supprimé.
Par contre, supprimer une jonction ne supprimera rien dans les annonces et les media.

Citation:
Le hic, c'est que je fais des essais d'enregistrements et que je veux les effacer, j'ai le problème de ' l'index ou clé prinicpale qui ne peut contenir une valeur Null'
Tu as ce message d'erreur en supprimant quoi ?
__________________
Philippe Leménager.
Futur ingénieur CNAM, en CDD à l'INRA Toulouse jusqu'au 31/12 suite au stage effectué.
Je reste ouvert aux propositions d'emploi.
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > Conception

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide