Comment empecher l'enregistrement dans la base sur erreur au controle

Bonjour,
J’utilise LibreOffice base (24.8.6.2).
J’ai créé des formulaires pour saisir des informations dans une BD LibreOffice, et je voudrais empêcher l’enregistrement dans la base en cas d’erreur (comme le fait LO en standard quand un champ attendu est vide par exemple). J’imagine que cela existe car c’est un basic.
mais je n’ai pas réussi a trouver quelle fonction utiliser dans mes macros de contrôle du formulaire.
Merci pour votre aide. Jean-Luc

En fonction de ce qu’on veut faire, on pourrait utiliser une contrainte:

HSQLDB (à taper dans le dialoge obtenu via Outils > SQL)

ALTER TABLE ADD [CONSTRAINT ] CHECK ();

Firebird:

https://www.firebirdsql.org/file/documentation/chunk/en/refdocs/fblangref25/fblangref25-ddl-tbl.html

Non mais ce sont des contraintes dynamiques. Par exemple il y a une date a saisir, et elle doit être antérieure à la date du jour. Donc la contrainte change tous les jours.

Dynamique = macro

1 Like

Oui c’est ce que je veux faire, mais je ne sais pas comment, en cas d’erreur détectée au contrôle dans la macro, empêcher l’enregistrement du contenu du formulaire dans la BD.
Est-ce qu’il existe une fonction appelable depuis une macro qui permet de revenir au formulaire sans avoir enregistrer les données.

https://forum.openoffice.org/fr/forum/viewtopic.php?t=51539

Quelque chose du genre:

Ok valioud. Cela parait être la meilleure solution.
Merci de ton aide.
Jean-Luc

Si votre question est solutionnée, merci de l’indiquer.

Je suis d’accord. Mais je n’ai pas trouvé comment mettre [Résolu] dans le titre de mon post. Il devrait y avoir un petit crayon en haut a droite d’apres ce que j’ai lu, mais je ne le vois pas dans mon post.