Bonjour,
Ce projet est en fait une maquette dans le cadre d'une migration OpenOffice pour remplacer des "usines à gaz" excel (d'après les utilisateurs)... qui géraient le suivi des heures avec des tableaux croisés dynamiques.
C'est vrai que le développement a été influencé par l'existant comme vous pourrez le voir.
J'ai réutilisé pour ce programme mes macros de la base Comptoir http://user.services.openoffice.org/fr/ ... 26&t=18473.
Sinon, tout fonctionne pratiquement à base de requêtes dynamiques...
On aurait pu fonctionner différemment à base de sous-formulaires et dans les macros avec des resultsets notamment pour éviter les sous-requêtes... Mais bon...
Seul point noir... allez, gris...
Je n'ai pas réussi à intercepter le message d'erreur du datagrid en cas de violation de l'intégrité référentielle :
J'aurais préféré le remplacer par une msgbox plus sympa style " Ce participant est déjà dans ce projet à la date choisie !" et pourquoi pas même terminer en donnant le focus à l'enregistrement en question... Je ne sais pas si c'est possible, je n'ai pas creusé la question mais sûrement...
Si quelqu'un a la solution? je suis preneur évidemment !
Cordialement,
Jérôme
P.S. Nécessite le sun report builder...
[Résolu][Base] Intercepter l'erreur "Violation d'intégrité"
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !

Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- Membre hOOnoraire
- Messages : 157
- Inscription : 08 févr. 2009 02:08
- Localisation : Lyon
- Contact :
[Résolu][Base] Intercepter l'erreur "Violation d'intégrité"
- Pièces jointes
-
- suiviHeures.odb
- Maj du 12/05/2010
Standalone (OOOBase invisible) - (104.24 Kio) Téléchargé 386 fois
Dernière modification par jerome bourgeois le 12 mai 2010 00:08, modifié 9 fois.
Libreoffice 7 Linux
Vous trouverez en annonce la dernière version du Micro Facturier(anciennement AE-Facturier) .
http://xlinfo.fr
Consultant Linux et Logiciels Libres
Intégrateur Open Source
Vous trouverez en annonce la dernière version du Micro Facturier(anciennement AE-Facturier) .
http://xlinfo.fr
Consultant Linux et Logiciels Libres
Intégrateur Open Source
Re: [Base]Gestion suivi des Heures
Bonjour,
Au niveau du formulaire "Standard" j'ai associé la macro "ErreurSurvenue" à l'événement de même nom.
En espérant t'avoir aidé.
A+
Au niveau du formulaire "Standard" j'ai associé la macro "ErreurSurvenue" à l'événement de même nom.
En espérant t'avoir aidé.
A+
MacOS Ventura 13.5.2 (iMac-Intel) : AOO 4.1.14 , LibreOffice 7.5.6.2, Adoptium-temurinJDK_1.8.0_345 - Windows 10 64 bits : AOO 4.1.9, Libreoffice 7.1.8.1 - FireFox, Thunderbird, ORB 1.2.1
-
- Membre hOOnoraire
- Messages : 157
- Inscription : 08 févr. 2009 02:08
- Localisation : Lyon
- Contact :
Re: [Base]Gestion suivi des Heures
Ben, j'suis content de t'avoir rencontré aujourd'hui !!!! 
Incroyable, j'avais essayé d'intercepter l'erreur au niveau du datagrid, au niveau de la zone de liste de la colonne et pas pensé au formulaire !!!
Génial... Je me penche sur le focus... dès que j'ai un peu de temps !
A bientôt
et encore meci !

Incroyable, j'avais essayé d'intercepter l'erreur au niveau du datagrid, au niveau de la zone de liste de la colonne et pas pensé au formulaire !!!
Génial... Je me penche sur le focus... dès que j'ai un peu de temps !
A bientôt

Dernière modification par jerome bourgeois le 02 févr. 2010 23:40, modifié 1 fois.
Libreoffice 7 Linux
Vous trouverez en annonce la dernière version du Micro Facturier(anciennement AE-Facturier) .
http://xlinfo.fr
Consultant Linux et Logiciels Libres
Intégrateur Open Source
Vous trouverez en annonce la dernière version du Micro Facturier(anciennement AE-Facturier) .
http://xlinfo.fr
Consultant Linux et Logiciels Libres
Intégrateur Open Source
-
- Membre hOOnoraire
- Messages : 157
- Inscription : 08 févr. 2009 02:08
- Localisation : Lyon
- Contact :
Re: [Base]Gestion suivi des Heures
@DLE : Pour ce qui est du message en double, ce qu' en dit en effet xray c'est que deux erreurs sont émises, une par le controller et une par le component... Enfin de ce que j'en ai compris
Faut pas m'en demander plus !
@ceux que ça intéresse : Sinon, on peut se servir des variables static (révision)
C'est tout pour aujourd'hui !
La version sur le premier post de ce fil est à jour, mais la correction par DLE est tout aussi valable !
Encore merci à lui...

Code : Tout sélectionner
Sub ErreurSurvenue(evt as Object)
Dim Msg As String
REM le message apparaît deux fois !?
' xray evt.source.getSupportedServiceNames()
REM On n'intercepte que celle émise par le component....
if instr(1,evt.Source.Dbg_SupportedInterfaces,"com.sun.star.comp.forms.ODatabaseForm") Then
REM On aurait pu faire l'inverse et n'intercepter que elle émise par le controller
' if instr(1,evt.Source.Dbg_SupportedInterfaces,"com.sun.star.form.FmXFormController") Then
if instr(1,evt.Reason.NextException.message,"Duplicate") then
Msg = Msg & chr(13) & "l'enregistrement existe déjà!"
else
Msg = Msg & chr(13) & evt.Reason.NextException.message
end if
msgBox Msg
end if
End Sub
Code : Tout sélectionner
Sub ErreurSurvenue(evt as Object)
REM Emploi d'une variable statique pour empêcher l'erreur de s'afficher deux fois sans que l'on en comprenne la raison
Dim Msg As String
Static i As Integer
if i=0 Then
if instr(1,evt.Reason.NextException.message,"Duplicate") then
Msg = Msg & chr(13) & "l'enregistrement existe déjà!"
else
Msg = Msg & chr(13) & evt.Reason.NextException.message
end if
msgBox Msg
i = i + 1
else
i = i - 1
end if
End Sub
La version sur le premier post de ce fil est à jour, mais la correction par DLE est tout aussi valable !

Encore merci à lui...
Libreoffice 7 Linux
Vous trouverez en annonce la dernière version du Micro Facturier(anciennement AE-Facturier) .
http://xlinfo.fr
Consultant Linux et Logiciels Libres
Intégrateur Open Source
Vous trouverez en annonce la dernière version du Micro Facturier(anciennement AE-Facturier) .
http://xlinfo.fr
Consultant Linux et Logiciels Libres
Intégrateur Open Source