Bonjour,
Je suis novice, cela fait une semaine que j'ai téléchargé LibreOffice.
J'apprends à utiliser les bases de données. Mon exercice était de créer une base de données fictive à partir d'une feuille CALC pour la 1re table puis de créer une 2e table en mode ébauche qui sera liée à la première.
J'ai identifié une clé primaire dans chaque table et j'ai lié (relation entre les 2 tables) un champ de la 2e table à la clé primaire de la 1re table (clé externe).
J'ai créé un index dans chaque table et un formulaire qui rassemble la 1re table (formulaire) et la 2e table (sous-formulaire présenté comme feuille de données).
Lorsque je veux ajouter des informations dans le formulaire, je saisis des informations dans le sous-formulaire. Lorsque je demande d'enregistrer, le message suivant apparait :
Attempt to insert null into a non-nullable column: column: Nom_courtier_projet table: Projets in statement [INSERT INTO "Projets" ( "Date_début_projet","Date_fin_projet","Numero_client_unique","Titre_projet") VALUES ( ?,?,?,?)],
voir la capture d'écran jointe.
J'ai indiqué des informations dans les champs obligatoires mentionnés ci-dessus, je ne comprends pas pourquoi le logiciel n'en tient pas compte.
Je ne comprends pas où est l'erreur, sûrement dans la définition des champs, mais je fais des modifications sans succès.
J'ai également inséré le message d'erreur dans une recherche sur le forum, mais je n'ai pas eu de résultat.
Merci de vos suggestions et de votre aide.
[Résolu]message d'erreur lors d'enregistrement d'un formulaire après saisie dans sous-formulaire
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.
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.
-
- Fraîchement OOthentifié
- Messages : 3
- Inscription : 08 déc. 2023 16:08
[Résolu]message d'erreur lors d'enregistrement d'un formulaire après saisie dans sous-formulaire
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 11 déc. 2023 00:10, modifié 2 fois.
Raison : Balisage dans le premier message
Raison : Balisage dans le premier message
LibreOffice 7.6.4.1 (X86-64) fr-CA
Windows 10.0
Windows 10.0
-
- Grand Maître de l'OOffice
- Messages : 16960
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: message d'erreur lors d'enregistrement d'un formulaire après saisie dans sous-formulaire
Bonjour,
Est-ce que les deux champs des Tables relation sont de type INTEGER et en Autovaleur pour la Table principale ?
Est-ce que les deux champs des Tables relation sont de type INTEGER et en Autovaleur pour la Table principale ?
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- Fraîchement OOthentifié
- Messages : 3
- Inscription : 08 déc. 2023 16:08
Re: message d'erreur lors d'enregistrement d'un formulaire après saisie dans sous-formulaire
Bonjour,
La réponse est oui et en voici la preuve :
- dans la table 1 (Clients) le champ ID (Nom défini par la logiciel par défaut à la place de Numero_client_unique) est de type Integer en valeur automatique et c'est la clé primaire de cette table. - dans la table 2 (Projets) le champ Numero_projet_unique est aussi de type Integer en valeur automatique et c'est la clé primaire de cette 2e table. - dans la table 2 (Projets) le champ Numero_client_unique est de type Integer en valeur non automatique et c'est le lien avec la table 1 : la clé externe. Je ne comprends pas pourquoi on ne peut pas entrer des informations dans le formulaire et les enregistrer, ni ce que veut dire le message d'erreur. Je ne suis pas familière avec les type d'erreurs. Je suis bloquée pour la saisie d'informations supplémentaires dans ma base de données.
Existe-t-il un glossaire des messages d'erreur et de leur signification ? Je serai preneuse.
Merci de votre intérêt.
La réponse est oui et en voici la preuve :
- dans la table 1 (Clients) le champ ID (Nom défini par la logiciel par défaut à la place de Numero_client_unique) est de type Integer en valeur automatique et c'est la clé primaire de cette table. - dans la table 2 (Projets) le champ Numero_projet_unique est aussi de type Integer en valeur automatique et c'est la clé primaire de cette 2e table. - dans la table 2 (Projets) le champ Numero_client_unique est de type Integer en valeur non automatique et c'est le lien avec la table 1 : la clé externe. Je ne comprends pas pourquoi on ne peut pas entrer des informations dans le formulaire et les enregistrer, ni ce que veut dire le message d'erreur. Je ne suis pas familière avec les type d'erreurs. Je suis bloquée pour la saisie d'informations supplémentaires dans ma base de données.
Existe-t-il un glossaire des messages d'erreur et de leur signification ? Je serai preneuse.
Merci de votre intérêt.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.6.4.1 (X86-64) fr-CA
Windows 10.0
Windows 10.0
-
- NéOOphyte
- Messages : 145
- Inscription : 08 nov. 2023 11:40
Re: message d'erreur lors d'enregistrement d'un formulaire après saisie dans sous-formulaire
Bonjour,
J'ai testé votre base en modifiant les champs NOT NULL et cela fonctionne bien.
Puis j'ai essayé sans modification et cela fonctionne quand-même.
Veuillez relire le fichier ci-joint.
Slts
Anakin
J'ai testé votre base en modifiant les champs NOT NULL et cela fonctionne bien.
Puis j'ai essayé sans modification et cela fonctionne quand-même.
Veuillez relire le fichier ci-joint.
Slts
Anakin
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office 6.0.7 sous Ubuntu 18.04.6
-
- Fraîchement OOthentifié
- Messages : 3
- Inscription : 08 déc. 2023 16:08
Re: message d'erreur lors d'enregistrement d'un formulaire après saisie dans sous-formulaire
Bonjour,
Je n'arrivais pas à comprendre quels changements avaient été faits entre la base que j'ai envoyée et celle que vous avez modifiée et que vous me renvoyiez.
En entrant les informations suivantes dans la base la première fois qu'on la remplit (dans le sous-formulaire) :
Client : Ana Conda
Projet : Conception d'une maquette pour le nouveau site web
19 septembre 2018 - 5 février 2019
Autre courtier (dans les notes) : Samantha
le message d'erreur apparaît toujours, car il n'y a pas de courtier principal.
En effet, j'avais mis dans la table Projets que le courtier principal était obligatoire et dans le formulaire que la saisie du nom du courtier principal était non requise. Je pensais qu'en mettant dans le formulaire le champ du courtier en saisie non requise était suffisant, mais il faut aussi changer le mode de saisie du champ courtier dans la table Projets pour que cela fonctionne. Je me rends compte que la modélisation de départ est très importante et que les modifications (s'il y en a) doivent être faites à tous les niveaux : tables, formulaires, etc.
C'est résolu ! Merci de votre aide !
Je n'arrivais pas à comprendre quels changements avaient été faits entre la base que j'ai envoyée et celle que vous avez modifiée et que vous me renvoyiez.
En entrant les informations suivantes dans la base la première fois qu'on la remplit (dans le sous-formulaire) :
Client : Ana Conda
Projet : Conception d'une maquette pour le nouveau site web
19 septembre 2018 - 5 février 2019
Autre courtier (dans les notes) : Samantha
le message d'erreur apparaît toujours, car il n'y a pas de courtier principal.
En effet, j'avais mis dans la table Projets que le courtier principal était obligatoire et dans le formulaire que la saisie du nom du courtier principal était non requise. Je pensais qu'en mettant dans le formulaire le champ du courtier en saisie non requise était suffisant, mais il faut aussi changer le mode de saisie du champ courtier dans la table Projets pour que cela fonctionne. Je me rends compte que la modélisation de départ est très importante et que les modifications (s'il y en a) doivent être faites à tous les niveaux : tables, formulaires, etc.
C'est résolu ! Merci de votre aide !
Dernière modification par sprudent le 10 déc. 2023 23:59, modifié 1 fois.
LibreOffice 7.6.4.1 (X86-64) fr-CA
Windows 10.0
Windows 10.0
-
- RespOOnsable forum
- Messages : 9258
- Inscription : 28 août 2010 08:45
Re: message d'erreur lors d'enregistrement d'un formulaire après saisie dans sous-formulaire
Bonjour,
Pour être visibles depuis la page d'accueil, la balise [Résolu] avec sa coche verte doivent être placées au début du titre du Premier Message
Voyez : viewtopic.php?p=18490#p18490
Pour être visibles depuis la page d'accueil, la balise [Résolu] avec sa coche verte doivent être placées au début du titre du Premier Message
Voyez : viewtopic.php?p=18490#p18490
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
-
- NéOOphyte
- Messages : 145
- Inscription : 08 nov. 2023 11:40
Re: [Résolu]message d'erreur lors d'enregistrement d'un formulaire après saisie dans sous-formulaire
@ sprudent
Bonjour,
Après maintes réflections, sachez que, en ce qui me concerne, je n'utiliserai jamais votre formulaire, car il n'est pas conforme aux directives.
En ce qui concerne la liste déroulante, je vous poste un exemple selon le règlement.
Slts
Anakin
Bonjour,
Après maintes réflections, sachez que, en ce qui me concerne, je n'utiliserai jamais votre formulaire, car il n'est pas conforme aux directives.
En ce qui concerne la liste déroulante, je vous poste un exemple selon le règlement.
Slts
Anakin
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office 6.0.7 sous Ubuntu 18.04.6