{Access} Clé étrangère vide ou nulle?
Résolu
js8bleu
Messages postés
576
Date d'inscription
Statut
Membre
Dernière intervention
-
OlivrT Messages postés 323 Date d'inscription Statut Membre Dernière intervention -
OlivrT Messages postés 323 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai une table VENTE, CASH, CREDIT et CAUTION. Une vente peut être réglée soit cash, soit à crédit soit par caution. Pour simplifier les choses (pour ma programmation, lol)j'ai "migrer" les identifiants de CASH, CREDIT et CAUTION comme clés étrangères dans l'entité VENTE. Ce qui veut dire que lors de l'enregistrement d'une vente deux des trois clés étrangères seront vides voire nulles. Qu'en pensez-vous? Se pourrait-il que je rencontre des problèmes plus tard? Est-ce qu'une clé étrangère peut être vide ou nulle?
Merci d'avance.
Cordialement.
j'ai une table VENTE, CASH, CREDIT et CAUTION. Une vente peut être réglée soit cash, soit à crédit soit par caution. Pour simplifier les choses (pour ma programmation, lol)j'ai "migrer" les identifiants de CASH, CREDIT et CAUTION comme clés étrangères dans l'entité VENTE. Ce qui veut dire que lors de l'enregistrement d'une vente deux des trois clés étrangères seront vides voire nulles. Qu'en pensez-vous? Se pourrait-il que je rencontre des problèmes plus tard? Est-ce qu'une clé étrangère peut être vide ou nulle?
VENTE(numvente,datevente,...,numcash,numcredit,numcaution) CASH(numcash) CREDIT(numcredit,nombeneficiaire) CAUTION(numcaution,proprietaire,solde)
Merci d'avance.
Cordialement.
A voir également:
- {Access} Clé étrangère vide ou nulle?
- Clé usb non détectée - Guide
- Clé windows 8 - Guide
- Formater clé usb - Guide
- Supprimer page word vide - Guide
- Clé usb - Accueil - Stockage
6 réponses
Bonjour,
bien sûr une clé étrangère peut être null à partir du moment où dans vos relations vous n'avez pas exigé une valeur, tout simplement.
Pour en revenir à la table de vente, la question à se poser c'est : est ce que une vente chez vous peut être créée sans une valeur "cash", "credit" et "caution" ? Si la réponse est affirmative, vous n'aurez pas de problème.
Mais sans analyser outre mesure votre application il me semble qu'il serait judicieux pour votre comptablilité de vérifier qu'au moins un des trois s'y trouve non ? ;-)
bien sûr une clé étrangère peut être null à partir du moment où dans vos relations vous n'avez pas exigé une valeur, tout simplement.
Pour en revenir à la table de vente, la question à se poser c'est : est ce que une vente chez vous peut être créée sans une valeur "cash", "credit" et "caution" ? Si la réponse est affirmative, vous n'aurez pas de problème.
Mais sans analyser outre mesure votre application il me semble qu'il serait judicieux pour votre comptablilité de vérifier qu'au moins un des trois s'y trouve non ? ;-)
Bonjour et Merci OlivrT pour votre aide. Une vente est soit cash, soit crédit ,soit par caution, donc une vente ne peut pas ne pas avoir de valeur. Par contre est-ce que je n'aurait pas de problème pour faire des jointures si des valeurs sont nulles?
Merci d'avance.
Cordialement.
Merci d'avance.
Cordialement.
Quand vous dites soit "Cash", soit "Crédit", ... vous voulez dire que dans votre table de vente il y aura la clé étrangère Cash ou celle qui correspond à Crédit ?
Dans ce cas là, non, cela ne posera aucun problème pour autant que quand vous ferez vos jointures vous serez attentif à ce que certains enregistrements pourront ne pas être présents puisque la valeur pour le mode de paiement peut variée.
Dans ce cas là, non, cela ne posera aucun problème pour autant que quand vous ferez vos jointures vous serez attentif à ce que certains enregistrements pourront ne pas être présents puisque la valeur pour le mode de paiement peut variée.
Je reviens sur votre texte de départ car quelque chose m'avait échappé, vous avez écrit :
" Ce qui veut dire que lors de l'enregistrement d'une vente deux des trois clés étrangères seront vides ..."
pourquoi avez-vous dans votre table de vente 3 clés étrangères ???
Une seule suffit. Elle pointure vers une table que j'appellerai "Mode de paiement" et vous ferez un lien 1 à plusieurs.
" Ce qui veut dire que lors de l'enregistrement d'une vente deux des trois clés étrangères seront vides ..."
pourquoi avez-vous dans votre table de vente 3 clés étrangères ???
Une seule suffit. Elle pointure vers une table que j'appellerai "Mode de paiement" et vous ferez un lien 1 à plusieurs.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour OlivrT. Merci pour votre intérêt. En effet, j'avais songé à cette solution :
Mais vous avez certainement dû remarquer qu'il y a des propriétés qui sont propres à CREDIT et des propriétés qui sont propres à CAUTION. Ce qui veut dire (à mon humble avis) que votre solution ne marchera pas car seules les propriétés identiques peuvent se retrouver dans l'entité "Mode de Paiement". Où peut-être que je n'ai pas bien compris. Qu'en pensez-vous?
Merci d'avance pour votre précieuse aide.
Cordialement.
pourquoi avez-vous dans votre table de vente 3 clés étrangères ??? Une seule suffit. Elle pointure vers une table que j'appellerai "Mode de paiement" et vous ferez un lien 1 à plusieurs.
Mais vous avez certainement dû remarquer qu'il y a des propriétés qui sont propres à CREDIT et des propriétés qui sont propres à CAUTION. Ce qui veut dire (à mon humble avis) que votre solution ne marchera pas car seules les propriétés identiques peuvent se retrouver dans l'entité "Mode de Paiement". Où peut-être que je n'ai pas bien compris. Qu'en pensez-vous?
Merci d'avance pour votre précieuse aide.
Cordialement.
je ne connais pas tous les détails mais pour moi, je reste sur l'identification d'un mode de paiement auquel pourquoi pas, vous associerez des propriétés ... Le mode de paiement identifierai le dépôt et vous associez à cette table une table de lien pour y attacher un nombre de propriété selon le mode de paiement du client.
Cette difficile de répondre comme ça sur un forum car il faut connaître un peu plus et analyser.
En tout cas oubliez ces 3 fk dans votre table de vente, vous n'aurez que des soucis après.
Si demain un nouveau mode de paiement arrive sur le marché vous devrez modifier vos tables, vos rapports, ...
Cette difficile de répondre comme ça sur un forum car il faut connaître un peu plus et analyser.
En tout cas oubliez ces 3 fk dans votre table de vente, vous n'aurez que des soucis après.
Si demain un nouveau mode de paiement arrive sur le marché vous devrez modifier vos tables, vos rapports, ...