Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 01/26/19 in Blog Entries

  1. 2 points
    Si vous êtes développeur FileMaker, prenez 3 minutes pour regarder ça. Petit outil simple et pas cher, made in 1-more-thing, avec interface en Français et en Anglais. Disponible sur le Mac App Store. http://bit.ly/2Biku0o
  2. 1 point
    Aujourd’hui, c’est graphe des liens… Je vais vous montrer que ce graphe des liens reflète vos décisions (ou choix) dans les options de rubrique. Prenons les cas d’une gestion de facturation. Nous avons, pour ce type de gestion, au moins quatre tables : CLIENTS, FACTURES, LIGNES et PRODUITS. Après une longue, très longue, analyse, nous avons le schéma relationnel suivant : J’ai utilisé le code couleur suivant : Rouge pour les clefs primaires, rubriques ne contenant que des valeurs uniques dans une table, permettant d’identifier sûrement un enregistrement. Vert pour les clefs étrangères, rubriques servant à « attacher » un ou plusieurs enregistrements à un enregistrement d’une autre table. Nous remarquons que le lien entre les tables CLIENTS et FACTURES est de type 1 vers N, ou N vers 1 suivant qu’on démarre de la table FACTURES. Sur le schéma relationnel, nous le symbolisons par : Et nous retrouvons ce type de lien sur l’ensemble de notre schéma relationnel. Une fois le schéma relationnel établi sur le papier, nous pouvons passer à la réalisation sous FileMaker Pro. Je vous passe les détails pour la réalisation du fichier, des tables, des rubriques et du graphe des liens. Là, vous devriez remarquer que je parle de « graphe des liens » et non plus de « schéma relationnel ». Regarder la figure suivante : C’est le graphe réalisé avec FileMaker Pro, regardons d’un peu plus près le lien entre les occurrences de tables CLIENTS et FACTURES : Si vous regardez bien, vous remarquerez que FileMaker schématise le lien avec une représentation de lien de type N vers N : Pourquoi diable FileMaker Pro nous représente un lien de type N vers N alors que nous avons normalement une relation entre CLIENTS et FACTURES de type 1 vers N ? De plus, nous avons aucun moyen sur le graphe des liens de définir le type de lien. En fait, ce n’est pas sur le graphe des lien que nous pouvons définir le type de lien. Car le graphe des liens de FileMaker Pro reflète les options appliquées aux rubriques. Occupons-nous de la table CLIENTS. La rubrique N° client est, sur notre schéma relationnel, une clef primaire, à savoir qu’elle doit contenir une valeur unique. Nous pouvons alors définir une option de contrôle sur cette rubrique de type Unique : Fichier > Gérer > Base de données… ; Onglet Rubriques ; Table CLIENTS ; Sélection de la rubrique N° client, puis bouton Options… ; Onglet Contrôle ; Option Unique ; Validation. Si maintenant, nous allons voir le graphe des liens, nous nous apercevons que le type de lien schématisé par FileMaker Pro à changé : Nous avons bien maintenant un lien de type 1 vers N et non plus un lien de type N vers N. Si maintenant nous aurions choisi une option d’entrée automatique de type numéro de série au lieu d’une option de contrôle de type unique pour la rubrique N° client, FileMaker Pro aurait schématisé le lien de type 1 vers N. Nous voyons donc que FileMaker Pro change le type de lien dans le graphe des liens pour tenir compte, ou pour refléter, les options apportées aux rubriques. C’est donc un moyen simple pour savoir si on n’a pas oublié une option sur une rubrique. Il reste encore une autre schématisation. Imaginons que nous souhaitons avoir la liste des factures pour une année donnée pour chaque client. Nous ajoutons alors une rubrique Année, de type nombre, dans la table FACTURES, pourquoi pas de type calcul, avec un résultat de type nombre et avec la formule ANNEE( Date ). Ajoutons maintenant une rubrique Année dans la table CLIENTS, de type nombre, mais avec l’option Globale, pour nous permettre d’avoir la même année quelque soit l’enregistrement client. Établissons, maintenant un lien entre les deux nouvelles rubriques, et nous obtenons le schéma suivant : Évidemment, pour éviter de modifier le lien existant entre les occurrences de tables CLIENTS et FACTURES, nous devons donc ajouter une deuxième occurrences de tables pour FACTURES, nommée FACTURES ANNÉE. Et là, on voit que le type de lien schématisé par FileMaker Pro est différent, nous avons un lien du type : C’est un type de lien qui nous informe que la rubrique Année de la table CLIENTS a l’option stockage global. Mais cela signifie aussi que le lien n’est pas bi-directionnel mais uni-directionnel. C’est-à-dire que la table CLIENTS peut connaître les enregistrements de l’occurrence de table FACTURES ANNÉE, alors que l’occurrence de table FACTURES ANNÉE ne peut pas connaître les enregistrements de CLIENTS. Voilà pourquoi je vous indiquais en introduction que le graphe des liens de FileMaker Pro reflètes les options de rubriques. C’est tout pour aujourd’hui… En attendant la prochaine chronique, qui sera ma cinquantième, hé oui déjà… Je vous souhaite une excellente semaine ! Et j’attends comme d’habitude vos remarques, commentaires ou suggestions.
  3. 1 point
    Premier jour à la 15ème conférence francophone des développeurs FileMaker, occasion d’être encore un peu nostalgique… Après l’annonce par l’éditeur de reprendre son nom d’origine, Claris, nom qu’il portait lorsque j’ai débuté dans le monde de FileMaker en 1997, me voici de retour sur les lieux de ma première FMconf, au printemps 2006 : Poitiers […] Afficher la totalité du billet
  4. 1 point
    Cet article Des apps personnalisées intégrées à un système central : l’exemple de l’UCLouvain est apparu en premier sur 1-more-thing. >>> Lire la suite… <<<
  5. 1 point
    L’un de nos lecteurs, Martin, partage avec nous un script qu’il a écrit pour réaliser des sauvegardes régulières alors même qu’il n’héberge pas son fichier avec FileMaker Server mais en utilisant la fonction de partage de FileMaker Pro Advanced (partage “pair à pair” accessible depuis le menu Fichier / Partage / Partager avec clients FileMaker…). […] Afficher la totalité du billet
  6. 1 point
    Principe et intérêt d’une fonction personnalisée Lorsqu’on écrit un calcul dans FileMaker, on a une bibliothèque de fonctions assez conséquente dans laquelle nous allons piocher pour combiner différents éléments et aboutir à notre résultat. On peut enrichir cette bibliothèque de deux façons différentes : les plugins les fonctions personnalisées Je vous propose de réaliser une […] Afficher la totalité du billet
  7. 1 point
    Pour le retour du billet dominical je vais revenir aux fondamentaux : la recherche ! Toute personne utilisant une base de données a le besoin d'effectuer des recherches au sein de ses données, sinon quel serait l'intérêt d'une base de données ?! On l'oublie trop souvent, mais la maîtrise du moteur de recherche d'un Système de Gestion de Bases de Données est primordiale ! Je vous propose donc aujourd'hui de revoir nos classiques pour celles et ceux de la vielle génération comme moi qui gravitons dans le monde FileMakerien depuis plus de 20 ans et pour les «petits» nouveaux qui découvrent ce logiciel fantastique ! La recherche Il y a des recherches simples, des moins simples et des complexes ! Il y a même des recherches qui s'effectuent sans passer par le mode recherche. Mais justement, comment s'effectue une recherche classique dans une base de données FileMaker ? Des quatre modes de FileMaker, il y a celui concernant la recherche : Par la barre de menu Affichage > Mode Recherche ; Par les raccourcis clavier : Sur Mac OS X : cmd + F ; Sur Windows : ctrl + F Le principe d'une recherche classique suit trois étapes : On se met en mode recherche ; On saisit le critère de recherche ; On exécute la recherche. Ce principe s'applique aussi lors de l'automatisation d'une recherche par script. J'oublie de préciser que l'on doit se placer à l'endroit où peuvent se trouver les données recherchées, on doit donc se mettre sur le modèle adéquate. Lorsque l'on effectue une recherche, FileMaker ne s'amuse pas à passer en revue les enregistrements un à un (joli pléonasme !) pour isoler ceux qui répondent aux critères de recherche. Cela serait très long. FileMaker, comme tout SGBD, utilise l'index pour effectuer des recherches. Il faut donc connaître les règles de l'indexation de FileMaker pour comprendre et savoir effectuer des recherche au sein de sa base de données. Si vous vous êtes amusés à regarder les options de vos rubriques, il y en a une qui concerne la langue d'indexation. Par défaut FileMaker utilise la langue du système d'exploitation, ou des préférences, pour ma part c'est le français qui est utilisé. Voici donc les règles de l'indexation française utilisées par FileMaker Pro : Pas de distinction entre les lettres majuscules et les lettres minuscules : a=A ; Pas de distinction entre les lettres accentuées et les lettres non accentuées : e=é=è=ê=ë, a=à, c=ç, etc. ; Conséquences des deux premières règles : e=E=é=É=è=È=ê=Ê=ë=Ë, a=A=à=À, c=C=ç=Ç FileMaker connaît les lettres ligaturées : ae=æ, oe=œ, ss=ß ; attention FileMaker ne reconnaît pas l'esperluette comme la ligature du e et du t : et≠& L'apostrophe et le trait d'union sont considérés comme des séparateurs de mots, pour le trait d'union uniquement depuis FileMaker 7. Par défaut, FileMaker indexe les rubriques utilisées : Lors d'une recherche ; Lors d'un tri ; Comme clef de liaison d'un lien relationnel. Le type de la rubrique influe sur la recherche, le tri et les relations. Recherche simple Texte C'est le type de recherche le plus utilisé, mais encore faut-il connaître quelques astuces. Pour retrouver le nom d'un personne, il suffit de saisir le nom recherché dans la rubrique nom est c'est tout. Mais si nous souhaitons rechercher tous les enregistrements dont la rubrique téléphone est vide ? Il y a quelques opérateurs mis à notre disposition : = : le signe égale placé d'une rubrique en mode recherche permet de retrouver tous les enregistrement dont la rubrique est vide ; * : le signe étoile (ou astérisque) utilisé seul dans une rubrique en mode recherche permet de retrouver tous les enregistrements dont la rubrique n'est pas vide ; alors qu'utilisé avec d'autres caractères il remplace zéro, un ou plusieurs caractères : *ER : recherche tous les enregistrements dont la rubrique contient un mot se terminant par ER ; *ER* : recherche tous les enregistrements dont la rubrique contient un mot débutant, contenant ou se terminant par ER ; ER* : recherche tous les enregistrements dont la rubrique contient un mot débutant par ER ; ER : idem que précédemment, recherche tous les enregistrements dont la rubrique contient un mot débutant par ER. @ : remplace un caractère et fixe le nombre de caractère d'un mot recherché : M@R : recherche tous les enregistrements dont la rubrique contient un mot de trois lettres débutant par M et se terminant par R. Si vous souhaitez recherche une adresse électronique, vous devez mettre votre critère entre guillemets : "david@lesterius.com" par exemple, ou saisir l'opérateur d'échappement (terme informatique) par exemple david\@lesterius.com. Pour effectuer une recherche par mots clefs, il suffit de saisir les mots clefs, ou leur début, séparés par des espaces ; Pour rechercher strictement un texte, on le précède d'un double signe égale : ==M : recherche tous les enregistrements dont la rubrique texte contient strictement la lettre M (ne tient pas compte de la casse). Cela ne retrouvera pas les enregistrements dont la rubrique contient par exemple "M.", "M ", "Mr", etc. Pour rechercher un texte accentué sans tenir compte de la casse, on utilise les guillemets : "légitime" : recherche tous les enregistrements dont la rubrique contient le mot légitime mais ne retrouvera pas le mot légitimé ; "légitimé" : recherche tous les enregistrements dont la rubrique contient le mot légitimé mais ne retrouvera pas le mot légitime. Pour rechercher un opérateur FileMaker Pro en tant que caractère : \@ : recherche le caractère @ ; Nombre Pour les nombres nous avons pouvons effectuer les recherches suivantes : 100 : recherche tous les enregistrements dont la rubrique nombre contient le nombre 100 ; Pour rechercher un nombre supérieur ou égale à 100 : 100… : utilise l'opérateur intervalle ; ≥100 : utilise l'opérateur supérieur ou égale à. Pour rechercher un nombre inférieur ou égale à 100 : …100 : utilise l'opérateur intervalle ; ≤100 : utilise l'opérateur inférieur ou égale à. Pour rechercher un nombre compris entre 100 et 199, bornes comprises : ≥100 ≤199 : utilise les opérateurs supérieur ou égale à et inférieur ou égale à et les deux critères sont séparés par l'espace ; 100…199 : plus simple, utilise l'opérateur intervalle ; 1## : plus concis encore, utilise l'opérateur # qui remplace un chiffre inconnu, l'équivalent du @ pour le texte. Pour recherche un nombre supérieur ou inférieur strictement à 100 : <100 : utilise l'opérateur inférieur à ; >100 : utilise l'opérateur supérieur à. Autre critère de recherche : 1#3# : recherche tous les enregistrements dont la rubrique nombre contenant un nombre de quatre chiffres ayant 1 millier et 3 dizaines quelque soit la centaine et l'unité. Date Pour les dates nous pouvons effectuer les recherches suivantes, avec un système paramétré avec les date à la française : Pour rechercher tous les enregistrements dont la date est le 1er mai 2016 : 1/5/2016 : on saisit simplement la date ; Pour la recherche de la date du jour : // : on utilise l'opérateur date du jour. Pour rechercher tous les enregistrements dont la date est comprise entre le 1er janvier 2016 et le 31 décembre 2016, bornes comprises : ≥1/1/2016 ≤31/12/2016 : utilise les opérateurs supérieur ou égale à et inférieur ou égale à et les deux critères sont séparés par l'espace ; 1/1/2016…31/12/2016 : plus simple, utilise l'opérateur intervalle ; */*/2016 : utilise l'opérateur * ; 2016 : encore plus concis, on saisit simplement l'année recherchée. Pour rechercher tous les enregistrements dont la date est comprise entre 1er mai 2016 et le 31 mai 2016, bornes comprises : ≥1/5/2016 ≤31/5/2016 : utilise les opérateurs supérieur ou égale à et inférieur ou égale à et les deux critères sont séparés par l'espace ; 1/5/2016…31/5/2016 : plus simple, utilise l'opérateur intervalle ; */5/2016 : utilise l'opérateur * ; 5/2016 : plus simple encore, on saisit uniquement le mois et l'année ; 5 : encore plus concis, on saisit uniquement le mois, FileMaker Pro recherche alors tous les enregistrements dont la date correspond au moi de mai de l'année en cours. Voici d'autres critères de recherche : 15/*/* : recherche tous les enregistrements dont la rubrique date contient une date tombant le quinze de chaque mois, de chaque année ; vendredi : recherche tous les enregistrements dont la rubrique date contient une date tombant un vendredi ; ven. : plus concis que précédemment, on saisit seulement les trois premières lettres du nom du jour recherché terminé par un point ; {lundi…vendredi}/*/2016 : recherche toutes les dates tombant en semaine pour l'année 2016 ; {15…31}/{1…6}/2016 : recherche toutes les dates tombant en deuxième quinzaine pour le premier semestre 2016 ; Heure Pour les heures nous pouvons effectuer les recherches suivantes, avec un système paramètre avec les heures à la française : Pour rechercher tous les enregistrements dont l'heure est 10 heures 30 minutes : 10:30 Pour rechercher tous les enregistrements dont l'heure est comprise entre 10 heures 30 minutes et 15 heures 25 minutes, bornes comprises : ≥10:30 ≤15:25 : utilise les opérateurs supérieur ou égale à et inférieur ou égale à et les deux critères sont séparés par l'espace ; 10:30…15:25 : utilise l'opérateur intervalle. Pour rechercher tous les enregistrements dont l'heure est comprise entre 0 heure et 11 heures 59 minutes 59 secondes : ≥0 ≤11:59:59 : utilise les opérateurs supérieur ou égale à et inférieur ou égale à et les deux critères sont séparés par l'espace ; 0…11:59:59 : utilise l'opérateur intervalle ; …11:59:59 : utilise l'opérateur intervalle ; ≤11:59:59 : utilise l'opérateur inférieur ou égale à ; <12 : utilise l'opérateur inférieur à ; AM : utilise le latin antemeridiem. Pour rechercher tous les enregistrements dont l'heure est comprise entre midi et minuit : ≥12 ≤23:59:59 : utilise les opérateurs supérieur ou égale à et inférieur ou égale à et les deux critères sont séparés par l'espace ; 12…23:59:59 : utilise l'opérateur intervalle ; 12… : utilise l'opérateur intervalle ; ≥12 : utilise l'opérateur supérieur ou égale à ; >11:59:59 : utilise l'opérateur supérieur à ; PM : utilise le latin post meridiem. Voici d'autres critères de recherche : 20:*:* : recherche tous les enregistrements dont la rubrique heure correspond à 20 heures ; 20 : recherche tous les enregistrements dont la rubriques heure correspond à 20 heures ; *:20:* : recherche tous les enregistrements dont la rubrique heure contient une heure ayant 20 comme minutes ; {8…11}:{30…59} : recherche tous les enregistrements dont la rubrique heure contient une heure comprise entre 8 et 11 heures et les minutes comprises entre 30 et 59. Horodatage Pour les horodatées utiliser les critères vus précédemment pour les dates et les heures. Conteneur C'est encore plus simple pour les conteneurs : on ne peut pas effectuer de recherche dans ce type de rubrique. C'est tout pour aujourd'hui ! Voilà, c'est tout pour aujourd'hui, si ce retour aux fondamentaux vous plaît, je continuerai la semaine prochaine avec les recherches un peu plus compliquées mélangeant les opérateurs booléens ET, OU et NON…
×
×
  • Create New...