N'arrive pas à mettre de clé primaire
Flo13400
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
Pierrecastor Messages postés 41491 Date d'inscription Statut Modérateur Dernière intervention -
Pierrecastor Messages postés 41491 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je suis en train de créer une base de données. J'ai pour l'instant 2 tables composées respectivement de 6 et 3 champs. Le problème est que je n'arrive pas à mettre de clé primaire. Vous pouvez m'aider ?
Voici la table et le champ en question:
Table : CLIENT
Champ 1 => nom_client
Champ 2 => prenom_client
Champ 3 => adresse_client
Champ 4 => telephone_client
Champ 5 => mail_client
Je voudrais mettre la clé primaire sur le champ 1 (nom_client) mais je n'y arrive pas et un message s'affiche quand je veux enregistrer: "Un index ou une clé principale ne doit pas contenir de valeur Null". Que dois-je faire pour arriver à mettre ma clé primaire sur ce champ ??
Je suis en train de créer une base de données. J'ai pour l'instant 2 tables composées respectivement de 6 et 3 champs. Le problème est que je n'arrive pas à mettre de clé primaire. Vous pouvez m'aider ?
Voici la table et le champ en question:
Table : CLIENT
Champ 1 => nom_client
Champ 2 => prenom_client
Champ 3 => adresse_client
Champ 4 => telephone_client
Champ 5 => mail_client
Je voudrais mettre la clé primaire sur le champ 1 (nom_client) mais je n'y arrive pas et un message s'affiche quand je veux enregistrer: "Un index ou une clé principale ne doit pas contenir de valeur Null". Que dois-je faire pour arriver à mettre ma clé primaire sur ce champ ??
A voir également:
- Cle primaire
- Clé usb non détectée - Guide
- Clé windows 8 - Guide
- Formater clé usb - Guide
- Clé usb - Accueil - Stockage
- Clé bootable windows 10 - Guide
12 réponses
Bonjour,
as-tu déjà des données dans ta table ?
Si oui, est-ce que le champ 1 est vide parfois ?
Cordialement.
as-tu déjà des données dans ta table ?
Si oui, est-ce que le champ 1 est vide parfois ?
Cordialement.
Non, je n'ai pas de données dans ma table. Pour mon devoir, je dois simplement la base de données avec table/champs sans y mettre de données.
Je suis sous Access 2007.
Si c'est ce que je crois, le type c'est le type de données non ? Si c'est ça c'est "Texte"...
Si c'est ce que je crois, le type c'est le type de données non ? Si c'est ça c'est "Texte"...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
type = entier, réel, décimal, texte,...
SGBD = Système de Gestion de Base de Données. (le "logiciel" que tu utilise pour créer ta base).
SGBD = Système de Gestion de Base de Données. (le "logiciel" que tu utilise pour créer ta base).
C'est bon j'ai réussi à mettre une clé primaire. Je n'avais pas entrer de données dans le champ, voilà pourquoi je n'y arrivais pas !!
Par contre comment mettre une clé étrangère ??
Par contre comment mettre une clé étrangère ??
Oui j'ai pensé à ça ^^ mais je peux pas mettre genre un numéro de sécu ou quelque chose dans le genre vu que les "clients" font juste appel à une petite association de quartier.. Donc l'asso en question ne demande pas d'info de ce genre.. Je verrai plus tard si j'attribue un numéro client..
Par contre je bute un peu sur autre chose..
J'explique en gros. 5 jeunes ont crée une asso pour faciliter la garde d'enfant dans leur ville. Ils créent une base de données pour répertorier les clients, les demandes plus facilement.
- J'ai une table Client contenant des infos comme le nom_client, prenom_client, adresse_client...
- J'ai une table Demande contenant les champs nom_client (que je voudrais mettre en clé étrangère), date_demande, heure_demande.
J'ai crée ces 2 tables, mais maintenant je dois en créer une 3ème. Je pense qu'elle doit contenir le nom des 5 membres de l'asso. Mais je ne sais pas trop quoi mettre comme champs. Je voudrais mettre en relation la table Demande et cette table, pour ainsi mettre en relation les demandes et la disponibilité des membres.
Je sais pas si j'ai été assez clair, c'est pas facile à expliquer..
Par contre je bute un peu sur autre chose..
J'explique en gros. 5 jeunes ont crée une asso pour faciliter la garde d'enfant dans leur ville. Ils créent une base de données pour répertorier les clients, les demandes plus facilement.
- J'ai une table Client contenant des infos comme le nom_client, prenom_client, adresse_client...
- J'ai une table Demande contenant les champs nom_client (que je voudrais mettre en clé étrangère), date_demande, heure_demande.
J'ai crée ces 2 tables, mais maintenant je dois en créer une 3ème. Je pense qu'elle doit contenir le nom des 5 membres de l'asso. Mais je ne sais pas trop quoi mettre comme champs. Je voudrais mettre en relation la table Demande et cette table, pour ainsi mettre en relation les demandes et la disponibilité des membres.
Je sais pas si j'ai été assez clair, c'est pas facile à expliquer..
Oui j'ai pensé à ça ^^ mais je peux pas mettre genre un numéro de sécu ou quelque chose dans le genre vu que les "clients" font juste appel à une petite association de quartier.. Donc l'asso en question ne demande pas d'info de ce genre.. Je verrai plus tard si j'attribue un numéro client..
Dans ce cas la, tu rajout un champ clé primaire numérique en auto incrémentation, sinon ta base sera "fausse" selon les règles de gestion d'une base. Il faut que la clé primaire sois un identifiant UNIQUE, ce qui n'est pas le cas du nom.
Ou tu peut faire une clé primaire multiple, avec nom, prénom et numéro de téléphone, par exemple, c'est lourd et sale.
Pour ton autre question, à tu fait un modèle relationnel avant de créer tes tables ?
Dans ce cas la, tu rajout un champ clé primaire numérique en auto incrémentation, sinon ta base sera "fausse" selon les règles de gestion d'une base. Il faut que la clé primaire sois un identifiant UNIQUE, ce qui n'est pas le cas du nom.
Ou tu peut faire une clé primaire multiple, avec nom, prénom et numéro de téléphone, par exemple, c'est lourd et sale.
Pour ton autre question, à tu fait un modèle relationnel avant de créer tes tables ?
Je te conseil aussi vivement et fortement de créer un champ (nommé par exemple id client) clé primaire en auto incrémentation.
Pour ton autre question, je te conseil d'arrêter la base pour l'instant et de réfléchir sur papier à ton modèle relationnel qui te permettra d'y voir plus clair dans la création de ton projet. Tu verra qu'ensuite, la création de la base sera juste un copie colle de ton modèle.
Pour ton autre question, je te conseil d'arrêter la base pour l'instant et de réfléchir sur papier à ton modèle relationnel qui te permettra d'y voir plus clair dans la création de ton projet. Tu verra qu'ensuite, la création de la base sera juste un copie colle de ton modèle.
Re,
site tres utile
https://mhubiche.developpez.com/Access/tutoJointures/
extrais:
2.1. Les Relations
ACCESS est un logiciel qui fait partie de la famille des SGBDR, c'est-à-dire des systèmes de gestion de bases de données relationnelles. La notion de relations est donc essentielle. Bien qu'il existe plusieurs types de relations, ACCESS ne gère que les relations de un à un, et les relations de un à plusieurs.
Pour créer une relation de un à un, il faut impérativement lier des champs ayant leur propriété "indexé" à "oui-sans doublon".
Pour créer une relation de un à plusieurs, il suffit de lier les champs entre eux.
D'habitude, la relation se fait d'une clé primaire vers une clé étrangère.
La clé primaire est le champ de la table qui sert d'identifiant à un enregistrement. Il s'agit d'un champ indexé sans doublon.
La clé étrangère est le champ de la table qui servira à matérialiser la relation avec la clé primaire. Il doit être de même taille et de même type de données que la clé primaire à laquelle il est lié.
Pour creer une cle etrangere il faut faire des relations entre deux tables.
Pour votre cle primaire, comme le precise Pierrecastor, il ne faut pas prendre un champ qui pourra contenir un doublon ( deux valeurs identiques). Vous devriez ajouter un champ supplementaire appele Id_Client et de type Numeroauto et en faire votre cle primaire.
Bon courage
site tres utile
https://mhubiche.developpez.com/Access/tutoJointures/
extrais:
2.1. Les Relations
ACCESS est un logiciel qui fait partie de la famille des SGBDR, c'est-à-dire des systèmes de gestion de bases de données relationnelles. La notion de relations est donc essentielle. Bien qu'il existe plusieurs types de relations, ACCESS ne gère que les relations de un à un, et les relations de un à plusieurs.
Pour créer une relation de un à un, il faut impérativement lier des champs ayant leur propriété "indexé" à "oui-sans doublon".
Pour créer une relation de un à plusieurs, il suffit de lier les champs entre eux.
D'habitude, la relation se fait d'une clé primaire vers une clé étrangère.
La clé primaire est le champ de la table qui sert d'identifiant à un enregistrement. Il s'agit d'un champ indexé sans doublon.
La clé étrangère est le champ de la table qui servira à matérialiser la relation avec la clé primaire. Il doit être de même taille et de même type de données que la clé primaire à laquelle il est lié.
Pour creer une cle etrangere il faut faire des relations entre deux tables.
Pour votre cle primaire, comme le precise Pierrecastor, il ne faut pas prendre un champ qui pourra contenir un doublon ( deux valeurs identiques). Vous devriez ajouter un champ supplementaire appele Id_Client et de type Numeroauto et en faire votre cle primaire.
Bon courage
Oui, ça d'accord, ça va m'aider pour après, merci ^^
Mais ce que je veux maintenant, c'est créer une 3ème table.. mais je ne sais pas quoi donner comme nom à cette table, ni à ces champs..
j'ai ma 2ème table, la table DEMANDE avec comme champs:
- nom_client (avec 8 noms de clients)
- date_demande
- heure_demande
ma 3ème table que je suis en train de créer (sans nom pour l'instant) dans laquelle j'ai mis comme champ:
- membres (avec le nom des 5 membres de l'asso)
Et je ne sais pas quels champs je dois rajouter pour faire que les demandes s'attribuent à tel ou tel membre, tel ou tel jour...
Mais ce que je veux maintenant, c'est créer une 3ème table.. mais je ne sais pas quoi donner comme nom à cette table, ni à ces champs..
j'ai ma 2ème table, la table DEMANDE avec comme champs:
- nom_client (avec 8 noms de clients)
- date_demande
- heure_demande
ma 3ème table que je suis en train de créer (sans nom pour l'instant) dans laquelle j'ai mis comme champ:
- membres (avec le nom des 5 membres de l'asso)
Et je ne sais pas quels champs je dois rajouter pour faire que les demandes s'attribuent à tel ou tel membre, tel ou tel jour...