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
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.
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.