Poser une contrainte sur un champ

Fermé
A. - 17 mars 2013 à 14:57
 tessel75 - 18 mars 2013 à 11:31
Bonjour,

Je suis bloquée sur une entité qui m'empêche de progresser sur ma BDD. Je ne suis pas une pro de Access et je ne sais pas comment réussir.

Je voudrais réussir à mettre soit le numéro du particulier soit le numéro de l'entreprise, mais pas les deux en même temps dans mon entité "demande de prêt" Serait-il possible de me dire comment écrire une contrainte dans Access pour mettre soit le num particulier soit le num entreprise et que ma BDD ne m'oblige pas à me mettre les deux en même temps car dans ce cas là, c'est totalement illogique ?

Cordialement.

A.B

4 réponses

SyPiC Messages postés 154 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 29 novembre 2013 19
17 mars 2013 à 17:44
Je ferai une table numéro de téléphone avec une relation 1 à 1 si j'ai bien compris ton problème avec les champs PK_Num, type_num, num
Il faudrait également une 2e table pour type de numéro.
Est-ce que cela t'aide?
0
Merci Monsieur, mais malheureusement non :( .. Je peux vous envoyer ma cellule Access qui me pose problème pour vous monter ?

Si vous voulez je dois choisir entre numéro particulier et numéro Siret mais la base de données veut absolument que j'appelle cela par le numéro du particulier ET par le numéro de l'entreprise. C'est impossible car mon raisonnement est celui ci "une entreprise demande une demande de microcrédit elle est identifiée par un numéro de Siret , et raisonnement similaire avec celui d'un particulier sauf que cette fois ci c'est numéro particulier, or ma BDD me demande de mettre le numéro de Siret de l'entreprise X dans la même ligne que la demande de microcrédit de monsieur Y, comment faire une contrainte, SOIT numéro particulier SOIT numéro Siret (sur une ligne) ?

Cordialement, et vraiment merci d'avoir essayé de répondre à ma question ! :)

A.B
0
Bonsoir,
Si vous n'avez pas trouvé la solution de votre problème, je me permets de vous en proposer une, assez simple.
Pour répondre avec davantage de pertinence il aurait été bien de savoir comment est construite votre table, car toute la question est là.
Tel que vous posez le problème, il vous faut considérer le N° de vos clients (Siret ou INSEE, ou quelqu'autre) comme des NOMS, c'est à dire mettre un seul champ aussi bien pour les N°SIRET que pour les N°Individuel des particuliers emprunteurs, et le considérer en format "TEXTE".
Alors votre problème sera immédiatement résolu parce que Access ne fait pas plus la différence entre deux types de N° (ou plus) qu'entre des noms de longueurs différentes (Dushmoll ou Tartempion). Ainsi, à partir du même champ vous pourrez appeler le N°##### et Access ira chercher ce N° de la même façon que si vous aviez appelé tel ou tel nom. Par ailleurs, chaque emprunteur étant identifié par un N° de format N°Auto vous ne risquerez aucune confusion dans les liaisons avec les autres tables.

Vous concluez votre question par : "que ma BDD ne m'oblige pas à me mettre les deux en même temps car dans ce cas là, c'est totalement illogique"
La question ici n'est pas de savoir si c'est "cohérent" intuitivement parlant, mais de la nécessité d'être logique informatiquement parlant. Or à partir du moment où les entreprises sont identifiées par des N°Siret et les particuliers par un autre type de N°, il n'est pas du tout illogique d'entrer cet identifiant "spécial" dans un seul et même champ. Il suffit de ne pas craindre cette apparente incohérence qui n'est que conventionnelle.
Bonne suite
0
Bonjour,

Malheureusement, il ne veut pas que je supprime numéro particulier et numéro de Siret et que je remplace par identifiant demandeur. Il me dit qu'il faut que j'aille dans relations et que
je modifie les liaisons. Malheureusement, je ne peux pas supprimer ces deux entités car ce sont des clés étrangères déjà définit par deux autres entités. Je ne sais pas si je suis très claire. Mon tableau Access a été crée à partir de Win Design et je n'ai fait que générer le script.

Bonne journée. :)
0
Bonjour,
Je réponds rapidement parce que je dois partir travailler.
Il ne s'agit surtout pas de supprimer N°Siret et N°Particulier pour remplacer par N°Auto, mais de RAJOUTER un champ N°Auto et de mettre dans le même champ N°Siret ET N°Particulier.
Après les liaisons sont établies sur N°Auto, mais à la condition qu'ils aient été "recopiés" dans les autres tables.
Je verrai ce soir comment faire pour cette recopie en fonction des éléments que vous aurez pu donner.
Bonne suite
0