Utiliser la fonction SIGN sous Oracle pour comparer des dates

Ce petit post a pour but d’expliquer l’utilisation de la fonction SIGN pour comparer des dates.

A la base, cette fonction permet de savoir si un nombre est négatif, égal à zéro ou positif :
SELECT SIGN(-11) FROM DUAL; La fonction retourne -1
SELECT SIGN(0) FROM DUAL; La fonction retourne 0
SELECT SIGN(11) FROM DUAL; La fonction retourne 1

Nous allons utiliser la fonction SIGN pour comparer 2 dates et savoir si la DATE1 est antérieure, égale ou postérieure à la DATE2.

Syntaxe :

La syntaxe est la suivante :
SELECT SIGN(DATE1-DATE2) FROM DUAL;
Si DATE1 est antérieure à DATE2, alors la fonction retourne -1.
Si DATE1 est postérieure à DATE2, alors la fonction retourne 1.
Si DATE1 est égale à DATE2, alors la fonction retourne 0.

Exemple de requête qui retourne toujours 0 :
SELECT SIGN(SYSDATE-SYSDATE) FROM DUAL;

Exemple :

Nous avons des immeubles avec des dates de construction d’un côté et de l’autre nous avons des états réglementaires (l’amiante concerne les immeubles construit avant le 01/07/1997, le plomb concerne les immeubles construit avant le 01/01/1949) qui doivent être réalisés en fonction de cette date de construction.

Pour obtenir la colonne "A_REALISER", on utilise la syntaxe suivante :
DECODE(SIGN(DATE_APPLICATION-DATE_CONSTRUCTION),-1,'NON',0,'OUI',1,'OUI') AS A_REALISER

Extraire des données d’un fichier IFC via un script Python

Cet article a pour but d’expliquer la mise en place d’un script Python permettant d’extraire des données taguées dans un fichier IFC.

Contexte :

Dans le cadre d’un projet BIM (Building information modeling), j’ai été amené à récupérer des informations présentes dans une maquette numérique au format IFC (Industry foundation classes).
Les données que l’on souhaite extraire sont préfixées par le tag : "mdata_".
Ce préfixage va permettre d’accélérer la recherche et l’extraction des données du fichier IFC.
Sans cela, il devient très compliqué de retrouver des données dans un fichier IFC vu la quantité d’informations présentes dans ce type de fichier :

Menu contextuel dans Microsoft Access

Logo_Microsoft_Access_2013

Cet article a pour but d’expliquer le paramétrage des menus contextuels dans Microsoft Access. Le terme menu contextuel ou pop-up menu désigne les menus qui s’ouvrent lorsque l’utilisateur clique d’une manière particulière sur un objet de l’interface graphique. La plupart du temps, on utilise le menu contextuel lorsque l’utilisateur réalise un clic droit à l’aide de la souris dans un écran de liste.

Aide en ligne personnalisée dans une application Microsoft Access

Logo_Microsoft_Access_2013

Cet article a pour but d’expliquer l’intégration d’un fichier d’aide en ligne personnalisé dans une application Access. Cette aide en ligne contextuelle va permettre de remplacer les manuels d’utilisateurs au format papier.
L’intérêt est de permettre à l’utilisateur de pouvoir appuyer sur la touche 'F1' du clavier lorsqu’il souhaite avoir de l’aide sur l’utilisation de l’application. De plus en fonction du formulaire sélectionné, on va pouvoir ouvrir le chapitre correspondant dans l’aide en ligne.

Gestion d’un bouton rond sous Access 2002

Cet article a pour but d’expliquer l’intégration et la gestion d’un bouton rond dans un formulaire Microsoft Access 2002.

Par défaut, dans Access, un bouton de commande ressemble à ça : btnQuit    ou ça : btnQuit2.

Le choix se limite à un bouton carré ou rectangulaire avec une image ou du texte.De plus, la couleur du bouton n’est pas modifiable, on peut juste changer la couleur du texte.