[Résolu] Erreur liaison tables : primary/unique constraint

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur: Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.

[Résolu] Erreur liaison tables : primary/unique constraint

Messagepar Nounours18200 » 13 Sep 2019 22:08

Bonjour,
Je suis en train de créer ma toute 1ère BDD sous L.O. 6.1.5.2, et je sens bien que la question est typique du débutant, mais les lectures des différents articles ne m'ont pas apporté de solution...

Voici mon pb basique:

J'ai 2 tables "Boards_Parts_Qty" et "Boards_list", ayant toutes les deux un champs nommé "Board_Ref".
La table "Boards_List" contient la liste des noms de circuits imprimés, ces libellés étant stockés dans le champ "Board_Ref".
La table 'Boards-Parts_Qty" contient différents champs, dont un qui s'appelle "Board_Ref", et que je souhaite lier au champ du même nom de la table "Boards_List". Mon objectif est que lors de la saisie des différents champs dans "Boards_Parts_Qty", on ne puisse y saisir que des valeurs stockées dans le champ Boards-Ref" de la table Boards-List".

Lorsque j'essaie de créer une relation entre le champ "Board_Ref" de la table "Boards_Parts_Qty" et le champ du même nom de la table "Boards_List", j'obtiens le message d'erreur suivant:

[url=h**ps://www.casimages.com/i/190913111224936420.jpg.html][img]h**ps://nsa40.casimages.com/img/2019/09/13/190913111224936420.jpg[/img][/url]

La modération a écrit:Inscrit depuis 2010, voici un rappel des règles : pas d'image hébergée en dehors du forum.
Utilisez pour cela notre service Ci-Joint (lien en bas de la page lors de la rédaction du message) : http://forum.openoffice.org/fr/forum/ft ... ne-PJ.html


et je ne vois pas où est le problème...

Merci pour votre aide,
Dernière édition par micmac le 15 Sep 2019 17:22, édité 2 fois.
Raison: Ajout de la coche verte
LibreOffice 6.1.5.2 sous Windows 10-64bits
Nounours18200
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 23
Inscrit le : 06 Fév 2010 18:48

Re: Liaison de Tables impossible (débutant)

Messagepar jeanmimi » 14 Sep 2019 08:55

Bonjour,
Le message dit qu'il y a une incompatibilité sur les clés primaires, et donc vraisemblablement sur la qualité des champs des Tables mises en Relation.
Un champ de Type INTEGER défini comme Clé primaire doit mis en relation avec un champ de Type INTEGER d'une autre Table, idem pour un champ TEXT_VARCHAR.
La compatibilité des relations entre les Tables peut être testée dans Relation de ta base.
Ci-dessous, à titre d'exemple, les relations entre plusieurs Tables.
Relations entre Tables.jpg


Tu peux joindre ta base pour faciliter l'Aide.
LibreOffice Version : Version: 6.3.2 (x64) (1 octobre 2019)
Java (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 15001
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: Erreur liaison tables : primary/unique constraint

Messagepar Nounours18200 » 14 Sep 2019 12:09

Merci jeanmimi,

Je viens de regarder, et les champs "Board_Ref" des 2 tables "Boards_Parts_Qty" et "Boards_list" sont tous les deux de type [Texte VARCHAR_IGNORE CASE] , sauf erreur de ma part..

J'ai certainement fait une boulette, mais comme c'est ma toute 1ère utilisation de L.O. Base, je n'y comprends pas grand chose (sorry)

Je mets ma base en construction en fichier joint ,
Merci !
Pièces jointes
Nakamichi 1000ZXL.odb
(12.37 Kio) Téléchargé 4 fois
LibreOffice 6.1.5.2 sous Windows 10-64bits
Nounours18200
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 23
Inscrit le : 06 Fév 2010 18:48

Re: Erreur liaison tables : primary/unique constraint

Messagepar jeanmimi » 14 Sep 2019 12:20

J'avais écrit :
Un champ de Type INTEGER défini comme Clé primaire doit mis en relation avec un champ de Type INTEGER d'une autre Table, idem pour un champ TEXT_VARCHAR.

Il faudrait donc que "Board_Ref" de "Boards_list" soit défini en Clé primaire pour que la relation fonctionne.
Pièces jointes
Relation.jpg
Relation.jpg (21.63 Kio) Consulté 97 fois
LibreOffice Version : Version: 6.3.2 (x64) (1 octobre 2019)
Java (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 15001
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: Erreur liaison tables : primary/unique constraint

Messagepar Nounours18200 » 14 Sep 2019 13:37

Je comprends: quel âne je suis !...

Je viens de définir Board_Ref en clé primaire, et évidemment ça fonctionne...

Je continue la construction de ma base en fin d'après-midi, et je reviens vers toi ensuite, car je galèrerai surement sur autre chose !...

Mille mercis
LibreOffice 6.1.5.2 sous Windows 10-64bits
Nounours18200
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 23
Inscrit le : 06 Fév 2010 18:48

Re: Erreur liaison tables : primary/unique constraint

Messagepar Nounours18200 » 14 Sep 2019 21:35

Bien, voilà mon nouveau problème:

J'ai complété la définition de ma BDD et ses relations avec des Tables maîtres, puis j'ai créé mon 1er formulaire de saisie, avec les listes déroulantes pour certains champs et les valeurs par défaut.

Lorsque j'essaie d'y saisir un enregistrement (il n'y a qu'un seul formulaire de saisie pour l'instant), il me dit que la saisie est obligatoire pour le champ "Tolérance_%", alors que dans la définition de la Table "Boards_Parts-Qty", j'ai bien indiqué que la saisie n'est pas obligatoire pour les 2 champs "Tolerance %" et "New Tolerance_%".

Où est mon erreur ?

EDIT: je viens de voir que TOUS les champs semblent obligatoires en saisie (par ex le champ commentaire présente le même problème). Voir ici:
https://forum.openoffice.org/fr/forum/viewtopic.php?f=9&t=58844
J'ai lu sur un forum que c'était peut-être dû à l'absence de JRE en 64 bits, mais je l'ai bien installé puisque LO Basse l'a exigé avant de démarrer la 1ère fois...

Donc je sèche encore plus !

Merci
Pièces jointes
Nakamichi 1000ZXL.odb
(27.94 Kio) Téléchargé 4 fois
LibreOffice 6.1.5.2 sous Windows 10-64bits
Nounours18200
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 23
Inscrit le : 06 Fév 2010 18:48

Re: Erreur liaison tables : primary/unique constraint

Messagepar Bidouille » 15 Sep 2019 10:50

Bonjour,

Nounours18200 a écrit:Bien, voilà mon nouveau problème

Nous vous rappelons que la règle n° 7 stipule qu'il ne faut mettre qu'une question par fil.

Poser plusieurs questions complique la compréhension et n'encourage pas les réponses : il vaut donc mieux découper votre problème. Le titre de votre question ne peut pas refléter l'ensemble des problèmes exposés.

Afin que nous puissions avoir une base de connaissance efficace lors d'une recherche sur un seul de vos problèmes, nous vous prions de créer autant de fil que de questions.

Merci de votre collaboration et de clôturer la présente question avec le balisage [Résolu].
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
 
Message(s) : 10141
Inscrit le : 08 Nov 2005 17:23
Localisation : Brest, France

Re: Erreur liaison tables : primary/unique constraint

Messagepar Nounours18200 » 15 Sep 2019 13:09

Oups désolé, je clôture et j'ouvre un autre sujet....
LibreOffice 6.1.5.2 sous Windows 10-64bits
Nounours18200
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 23
Inscrit le : 06 Fév 2010 18:48


Retour vers Base de données

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 2 invité(s)