Impossibilité de cocher l'intégrité référentielle entre 2 tables
Fermé
parroquet
Messages postés
2
Date d'inscription
mercredi 12 juin 2013
Statut
Membre
Dernière intervention
14 juin 2013
-
12 juin 2013 à 22:36
blux Messages postés 26507 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 4 décembre 2024 - 16 juil. 2013 à 09:02
blux Messages postés 26507 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 4 décembre 2024 - 16 juil. 2013 à 09:02
A voir également:
- Impossibilité de cocher l'intégrité référentielle entre 2 tables
- Word numéro de page 1/2 - Guide
- Tables des matières word - Guide
- 2 ecran pc - Guide
- 3 bip long 2 bip court hp - Forum BIOS
- 2 comptes whatsapp - Guide
7 réponses
Bonjour,
Pour vérifier que ton intégrité référentielle est vraiment respectée, tu peux essayer de demander à une requête de te sortir les Clients pour lesquels il n'y a pas de commandes en indiquant comme critère de sélection "null" pour le champ "Commandes!Clients", sans demander l'intégrité évidemment. Tu verras si tu n'as pas des surprises.
Tu peux aussi faire une requête inverse ("Commandes " vers "Clients") avec le même critère mais "Null"sur le champs "Clients!CodeClient". Tu verras bien ce se passe.
Enfin, pourquoi pas un N°Auto comme clé-Client, ce serait bien plus sûr qu'un CodeClient traficoté-perso.
Bonne suite
Pour vérifier que ton intégrité référentielle est vraiment respectée, tu peux essayer de demander à une requête de te sortir les Clients pour lesquels il n'y a pas de commandes en indiquant comme critère de sélection "null" pour le champ "Commandes!Clients", sans demander l'intégrité évidemment. Tu verras si tu n'as pas des surprises.
Tu peux aussi faire une requête inverse ("Commandes " vers "Clients") avec le même critère mais "Null"sur le champs "Clients!CodeClient". Tu verras bien ce se passe.
Enfin, pourquoi pas un N°Auto comme clé-Client, ce serait bien plus sûr qu'un CodeClient traficoté-perso.
Bonne suite
parroquet
Messages postés
2
Date d'inscription
mercredi 12 juin 2013
Statut
Membre
Dernière intervention
14 juin 2013
14 juin 2013 à 11:40
14 juin 2013 à 11:40
Merci Tessel,
alors, j'ai créer la requête avec la table "Clients" et les champs "code clients" et "nom" puis avec la table "Commande" et le champ "date de commande".
1- propriétés de la jointure (1): rien ne s'affiche.
2- propriétés de la jointure (2): tous les codes clients et leurs nom s'affichent. Rien à "date de commande".
3- propriétés de la jointure (3): les "date de commandes" uniquement.
maintenant avec le critere "null":
1- "null" sur un des 3 champs: plus aucun affichage.
2- "null" sur "code clients" ou "nom": plus aucun affichage.
3- "null" sur "date de commande": plus aucun affichage.
La clé primaire crée perso n'est pas un numéro auto car je suis certains qu'un code sera unique, exemple: 13-08-003
13:année de première commande
08:mois de prem's com
003: troisième nouveau clients du jour...
pas de confusion possible, ce clients gardera son code à la prochaine commande.
alors, j'ai créer la requête avec la table "Clients" et les champs "code clients" et "nom" puis avec la table "Commande" et le champ "date de commande".
1- propriétés de la jointure (1): rien ne s'affiche.
2- propriétés de la jointure (2): tous les codes clients et leurs nom s'affichent. Rien à "date de commande".
3- propriétés de la jointure (3): les "date de commandes" uniquement.
maintenant avec le critere "null":
1- "null" sur un des 3 champs: plus aucun affichage.
2- "null" sur "code clients" ou "nom": plus aucun affichage.
3- "null" sur "date de commande": plus aucun affichage.
La clé primaire crée perso n'est pas un numéro auto car je suis certains qu'un code sera unique, exemple: 13-08-003
13:année de première commande
08:mois de prem's com
003: troisième nouveau clients du jour...
pas de confusion possible, ce clients gardera son code à la prochaine commande.
blux
Messages postés
26507
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
14 juin 2013 à 13:16
14 juin 2013 à 13:16
Salut,
pour moi, le problème est qu'une ligne de la table 'commandes' n'a pas un 'code client' que l'on peut retrouver dans la table 'clients'.
Essaye de lancer une requête de 'non-correspondance' avec l'assistant afin de voir si c'est le cas.
pour moi, le problème est qu'une ligne de la table 'commandes' n'a pas un 'code client' que l'on peut retrouver dans la table 'clients'.
Essaye de lancer une requête de 'non-correspondance' avec l'assistant afin de voir si c'est le cas.
Bonjour Blux! Bonjour Parroquet
En fait, sans employer le nom, c'est bien des requêtes de non-correspondance que j'avais demandé de tester, car elles suivent les écritures que j'avais indiquées, mais je me suis sans doute mal expliqué parce que ce n'est pas ce que Parroquet a fait.
En fait l'écriture-type des requêtes de non-correspondance est la suivante:
Cette requête vérifie que tous les comptes bancaires sont rattachés à une banque répertoriées. Elle ne ramène rien.
En fait, sans employer le nom, c'est bien des requêtes de non-correspondance que j'avais demandé de tester, car elles suivent les écritures que j'avais indiquées, mais je me suis sans doute mal expliqué parce que ce n'est pas ce que Parroquet a fait.
En fait l'écriture-type des requêtes de non-correspondance est la suivante:
SELECT Banques.IndexBanque, Banques.Banque FROM Banques LEFT JOIN CompteBque ON Banques.[IndexBanque] = CompteBque.[BanqueIndexCB] WHERE (((CompteBque.BanqueIndexCB) Is Null));
Cette requête vérifie que tous les comptes bancaires sont rattachés à une banque répertoriées. Elle ne ramène rien.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon effectivement, j'ai un gros bug car la requête de non-correspondance entre "clients" et "commandes" me liste tous mes codes clients! pourtant quand j'ai inséré mes commandes, je recherche le code client par un menu déroulant faisant appel a la table "Clients"...bon le format ne doit pas être bien reconnu... Qu'en pensez vous?
Bonjour,
S'il en est ainsi, il ne te reste qu'à vérifier la compatibilité des formats des codes dans les 2 tables.
Cela étant dit, je ne peux que te conseiller de ré-examiner ta position quant aux clés par N°Auto et les codes-clients bricolés-perso avant qu'il ne soit trop tard et que tu aies beaucoup avancé dans la construction de ta base. Les 2 types de codes ne sont pas incompatibles à la condition de se rappeler qu'il faut savoir distinguer le codage système qui peut rester masqué mais avec lequel ton projet fonctionne, et le code perso qui peut être visible, mais de la même façon que les identités civiles des clients.
Bonne suite et bon courage.
S'il en est ainsi, il ne te reste qu'à vérifier la compatibilité des formats des codes dans les 2 tables.
Cela étant dit, je ne peux que te conseiller de ré-examiner ta position quant aux clés par N°Auto et les codes-clients bricolés-perso avant qu'il ne soit trop tard et que tu aies beaucoup avancé dans la construction de ta base. Les 2 types de codes ne sont pas incompatibles à la condition de se rappeler qu'il faut savoir distinguer le codage système qui peut rester masqué mais avec lequel ton projet fonctionne, et le code perso qui peut être visible, mais de la même façon que les identités civiles des clients.
Bonne suite et bon courage.
TOUFIKINFO34
Messages postés
8
Date d'inscription
mardi 16 juillet 2013
Statut
Membre
Dernière intervention
16 juillet 2013
16 juil. 2013 à 08:14
16 juil. 2013 à 08:14
essayer de reformuler votre question
blux
Messages postés
26507
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
16 juil. 2013 à 09:02
16 juil. 2013 à 09:02
Pourquoi ?
Le problème est pourtant clair.
Le problème est pourtant clair.
6 juil. 2013 à 20:32