From FAQ Filemaker

Tutoriel-Filemaker: Importation

<==Modèles d'impression ^ Opérations diverses Exportation==>

Il est parfois (souvent) fort utile de remplir une base de données à partir de ... données ... extérieures. Pour ne pas les saisir a la mano, on va procéder à une importation.

Ceci semblera une évidence à la majorité des lecteurs, mais, avant de parler d'importation de données externes dans une table Filemaker Pro, il est impératif que ces données soient structurées correctement... De quoi s'agit-il ? Peu importe le type de fichier dont les données seront importées (FileMaker Pro peut importer BEAUCOUP de types de données !) au sein d'une table FleMaker Pro, les données doivent être structurées de telle manière que :

Cela veut dire concrètement qu'une feuille de calcul d'un tableur, stylée avec fantaisie, est la plupart du temps inexploitable... Il existe bien au sein de la communauté FileMakerienne quelques virtuoses des importations scabreuses et acrobatiques, mais c'est une autre histoire !
Si l'on importe des données depuis un traitement de texte, chaque ligne correspondra à un enregistrement et, au sein de chaque ligne, chaque élément séparé par un opérateur reconnu (comme une tabulation ou une virgule par exemple) correspondra à une rubrique.
Autre point important, les enregistrements à l'arrivée seront tous remplis dans le même ordre : enregistrement un => rubrique1, rubrique2, rubrique3 etc jusqu'à rencontrer un saut de ligne qui indique le passage à l'enregistrement 2 et on recommence. La préparation du fichier à importer est donc très importante pour éviter de se retrouver avec des contenus incongrus.
Prenons un exemple concret : je veux importer un carnet d'adresse, avec des prénoms (rub1), des noms (rub2), un numéro de portable (rub3), un numéro de téléphone fixe (rub4). Si quelques malheureux n'ont pas de portable, mon fichier devra néanmoins comporter un séparateur pour signaler le changement de rubrique, afin d'éviter que le fixe ne remplisse la mauvaise rubrique. La rubrique devant contenir la donnée absente sera vide et le fixe se mettra au bon endroit. Le problème est le même avec des données supplémentaires. Reprenons un exemple classique : j'importe une adresse pour laquelle j'ai prévu Adresse - CodePostal - Ville - Pays (structure loin d'être idéale, mais ce n'est qu'un exemple). Si quelques unes de mes adresses à importées contiennent un cedex séparé du code postal, lors de l'importation de ces enregistrements, le cedex remplira la rubrique ville, le CP la rubrique Pays et le Pays sera perdu.

Import direct avec création de table


C'est la manière la plus simple et la plus rapide d'importer des données dans FileMaker Pro : il suffit de glisser l'icône d'un fichier à importer sur l'icône de l'application FileMaker Pro : un nouveau fichier sera créé, comprenant une table avec l'ensemble des données du fichier importé ! Si les données de la première ligne de données sont en fait les noms des rubriques, on peut choisir l'option de les utiliser pour donner les noms aux rubriques FileMaker Pro. Sinon les noms des rubriques risquent d'être un peu curieux (f1, f2, etc.), mais le principal est fait : les données sont bien présentes au sein d'une table ! Deux modèles sont automatiquement créés, l'un en fiche et l'autre en tableau. Bien entendu, cette méthode implique qu'un nouveau fichier soit créé, et qu'il ne comprenne qu'une seule table.

Import via FileMaker Pro


Lorsqu'on démarre une importation de données à partir d'un fichier FileMaker Pro existant, on est confronté à un paradoxe : il est nécessaire que la table dans laquelle on importe les données contienne au moins un modèle associé, et que l'on se trouve sur ce modèle. C'est ainsi... Ce sera du reste la seule table accessible pour l'import. La seule autre possibilité, qui ressemble un peu à l'importation décrite ci-dessus, est de créer une nouvelle table lors de l'importation.

Pour importer, on utilise le menu FileMaker Pro, "Fichier", "Importer des enregistrements", "Fichier...", et on choisi le fichier à importer après avoir sélectionné le type de fichier (ou "Tout format"). La fenêtre d'importation s'ouvre. Si le fichier dont on tente d'importer les données n'est pas un fichier FileMaker Pro, le dessus de la fenêtre ressemble à ceci :

Le nom du fichier d'origine est à gauche, et la partie de droite nous permet de contrôler la table active dans laquelle on importe les données. Si le fichier d'origine est un fichier FileMaker Pro, le dessus de la fenêtre ressemble à ceci :

Dans ce cas, la partie gauche permet de sélectionner l'occurence de table de la table d'origine, tandis que la partie droite indique la table dans laquelle les données seront importées, comme précédemment.

Dans la grande fenêtre de gauche se trouve soit le nom des rubriques du fichier d'origine, soit la première ligne de données. Dans la fenêtre de droite on retrouve la liste des rubriques de la table qui va recevoir les données. Il n'y a que dans cette partie droite que l'on peut bouger l'ordre des rubriques afin d'assurer une correspondance entre les rubriques et les données. Si, dans la partie gauche, on n'a que des données, sans nom de rubriques, il est recommandé de s'assurer de la parfaite concordance des données, que l'on peut inspecter grâce aux flèches se trouvant en dessous :

Ceci montrera en outre le nombre d'enregistrements attendus. Plusieurs options peuvent aider à la concordances entre les rubriques, dans la petite fenêtre en dessous de la liste des rubriques de droite :

Les deux options les plus utilisées sont :

L'ordre d'importation personnalisé est choisi lorsqu'on impose un ordre précis, en bougeant l'ordre des rubriques de droite afin d'assurer la concordance.

Notons un point important : Si la source de données est une table d'un fichier FileMaker Pro, il est possible d'importer la totalité des enregistrements ou simplement une sélection, résultat d'une recherche.
De base, la règle à retenir est que :

Donc, si on désire importer des données depuis un fichier FMP ouvert, il est PRIMORDIAL de contrôler au préalable au sein de cette table ce qu'on veut importer : seuls les enregistrements trouvés étant importés. Il en résulte que, avant de commencer cette importation :

Plusieurs méthodes d'importation sont possibles :

1. Création de nouveaux enregistrements

On coche le cercle d'option Créer des enregistrements :

Dans ce cas, quoiqu'il se passe, chaque ligne de donnée du fichier d'importation créera un enregistrement dans la table Filemaker Pro, qu'il y ait doublon ou pas, et l'entièreté des données du fichier externe sera importée. Notons au passage que, puisqu'aucun contrôle n'est fait sur le contenu des données, ce type d'importation est assez rapide.

A noter que l'on peut choisir de ne pas importer la première ligne, qui peut être une ligne de titres de rubriques :

2. Mise à jour des enregistrements correspondants dans le jeu trouvé

On coche le cercle d'option Mettre à jour enreg. existants dans le jeu trouvé :

Cette méthode contrôle la correspondance des données entre les deux fichiers avant de procéder à l'importation proprement dite. De quoi s'agit-il ? Dans ce cas, il s'agit de comparer deux jeux d'enregistrements, l'externe qui sera importé et l'interne. Concrètement, cela signifie que la comparaison sera limitée (dans un premier temps) aux enregistrements trouvés dans les deux jeux de données. Dans la table de réception, les enregistrements non trouvés seront ignorés lors de la comparaison et l'importation. On peut ensuite choisir l'option d'importer le reste des enregistrements qui n'ont pas été comparés dans le fichier externe.

Comme il s'agit d'une comparaison de données, il faut d'abord définir les rubriques qui seront comparées par leur contenu. Au moins un couple de rubriques (une du fichier à importer et une du fichier de réception) doit servir de clé de comparaison, et la flèche d'import est à remplacer par un signe "=".

Chaque couple de rubriques portant le signe "=" sera comparé au sein des deux tables, et, uniquement en cas d'égalité du contenu de l'ensemble de ces rubriques de comparaison, toutes les autres rubriques portant le signe "->" seront mises à jour (même s'il n'y a qu'un seul couple de rubriques).

Ce n'est qu'ensuite que les enregistrements du fichier externe, qui n'ont pas trouvé d'enregistrements de comparaison dans la table, pourront être importés, si l'option a été cochée.

Notons que cette option est beaucoup plus lente que la précédente, chaque enregistrement externe devant être au préalable comparé à l'ensemble du jeu interne trouvé avant d'effectuer la mise à jour. Dans le cas d'un grand nombre d'enregistrements, cela peut s'avérer laborieux...

3. Mise à jour des enregistrements existants dans le jeu trouvé

Disons-le d'emblée : cette option est dangereuse et rarement utilisée. Il s'agit également d'une mise à jour des enregistrement de la table FileMaker Pro à l'aide des données externes, mais ici, aucune correspondance n'est demandée : le premier enregitrement externe met à jour le premier enregistrement du jeu trouvé dans la table interne, le 2e met à jour le 2e, le 3e met à jour le 3e, etc. Comme une importation est irréversible, si on n'a pas correctement sélectionné ses enregistrements ou si le tri est mal fait, ça tourne au cauchemar et à l'océan de larme... A éviter donc...

Option d'importation


Après que l'on ait défini sa méthode d'importation et les options éventuelles, on clique sur le bouton "Importer", et une dernière fenêtre s'ouvre :

Cette fenêtre comporte une case à cocher "Entrer automatiquement les val. prévues pdt. import.". Cette option est très importante :

Résultat d'une importation


Au sein de la table FileMaker Pro qui a importé des enregistrements, le jeu d'enregistrements trouvés après l'importation correspond TOUJOURS aux enregistrements qui ont effectivement été importés. Cela peut s'avérer très pratique :

<==Modèles d'impression ^ Opérations diverses Exportation==>
Récupéré sur http://cqfd-fmp.fr/index.php?n=Tutoriel-Filemaker.Importation
Page mise à jour le 04 avril 2020 à 11h31