Aller au contenu


Photo
- - - - -

Importation De Données D'une Base À Plusieurs Tables Liées Vers Sa Mise À Jour

importation mise à jour

  • Please log in to reply
14 réponses à ce sujet

#1 jacqjoel

jacqjoel
  • Membres
  • Pip
  • 24 messages
  • Genre :Homme
  • Lieu :Belgique, Beauraing
  • Intérêts :Jardinage, informatique
  • FM : FMP11A
  • OS : Win xP et OSX.6


Posté 12 octobre 2011 - 20:38

Bonsoir,

Je suis actuellement coincé dans la mise à jour d'une base de données créée sur Filemaker pro 11 advanced.
Ma table originale nommée SMSW 1.0 comporte 4 tables dont deux sont étroitement liées.
Pour passer à une nouvelle version mise à jour nommée SMSW 1.1, j'ai créé un script permettant d'importer les données de chaque table.
Les données frais de déplacement d'une table et données personnelles d'une autre passent sans problème dans la nouvelle version.
Par contre, j'ai deux tables liées, demandes et dossiers qui à l'importation me mélangent le contenu des fiches.
J'essaye de m'expliquer :
Dans la table des Demandes, j'ai 30 enregistrements. Certaines demandes permettent l'ouverture de dossiers mais pas toutes.
C'est ainsi que je peux avoir 30 demandes mais seulement 20 dossiers ouverts.
Chaque dossier correspond d'office à une demande. Mais chaque demande ne génère pas d'office un dossier.
Lorsque j'importe les données de ces deux tables, les 30 demandes s'importent normalement, par contre certaines données des dossiers se confondent avec les demandes qui ne permettaient pas d'ouvrir de dossier, ce sont les rubriques liées qui déclenchent cet ouragan.
Que puis-je faire pour éviter ce brouhaha dans les fichiers de mes collègues?
Je peux joindre un fichier si cela peut aider à me sortir de cette situation.
Merci d'avance à qui pourra m'aider.

#2 Tora

Tora
  • Membres
  • PipPipPipPipPipPip
  • 1 139 messages
  • Genre :Homme
  • Lieu :Cergy Pontoise
  • Intérêts :Grimper, naviguer, découvrir, rêver... et entretenir le Tora.
  • FM Conférence : Nice 2008, Paris 2009, Paris 2010, La Rochelle 2011, Toulouse 2012
  • FM : FMP II à FMP12A
  • OS : Mac OS 10.6.8


Posté 13 octobre 2011 - 00:14

Bonsoir,

Il n'est pas facile de répondre sur le fonctionnement de script d'une application dont on ne lit que le récit... mais petit détail qui peut avoir son importance : dans les scripts d'importation, avez-vous bien décoché "Entrer automatiquement les valeurs prévues pendant l'importation" ?
Philippe

"Le chemin n'existe pas, ce sont nos pas qui font le chemin (Antonio Machado)"

#3 Thierry

Thierry
  • Membres
  • PipPipPipPipPipPipPip
  • 2 206 messages
  • Genre :Homme
  • Lieu :Genève
  • Intérêts :La nature, jazz, batterie, littérature, cuisine, tennis, vélo.
  • FM Conférence : Lyon 2007
  • FM : 2 3 4 5 6 7 8 9 10 11 12, FM Go
  • OS : OS X 10.4 / 5 / 6 / 7 / 8


Posté 13 octobre 2011 - 06:44

Bonjour,

assure toi d'abord que à la fermeture de la base de données un script soit lancé qui va à chaque table rechercher tous les enregistrements, sinon le risque est que sur une des tables il importe uniquement les enregistrements trouvé après une recherche.

Ciao.

Thierry Riva

QuickClik
Développement • Formation • Coaching • Organisation
CH-1224 Chêne-Bougeries (Genève)
Skype: thierryriva • iChat: quicclik • www.power-office.ch

------------------
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information. (Albert Einstein)


#4 jacqjoel

jacqjoel
  • Membres
  • Pip
  • 24 messages
  • Genre :Homme
  • Lieu :Belgique, Beauraing
  • Intérêts :Jardinage, informatique
  • FM : FMP11A
  • OS : Win xP et OSX.6


Posté 13 octobre 2011 - 08:42

Merci à tous les deux. Je viens d'essayer vos deux propositions mais sans succès. Certaines données liées se mélangent dans les enregistrements.
Je cherche encore mais je pense que la numérotation des demandes qui est différente de celles des dossiers m'induit en erreur pour le script d'importation.

#5 Thierry

Thierry
  • Membres
  • PipPipPipPipPipPipPip
  • 2 206 messages
  • Genre :Homme
  • Lieu :Genève
  • Intérêts :La nature, jazz, batterie, littérature, cuisine, tennis, vélo.
  • FM Conférence : Lyon 2007
  • FM : 2 3 4 5 6 7 8 9 10 11 12, FM Go
  • OS : OS X 10.4 / 5 / 6 / 7 / 8


Posté 13 octobre 2011 - 08:53

Peut-tu développer un peu plus ce que tu entend avec le mot "mélange" ?

Ciao.

Thierry Riva

QuickClik
Développement • Formation • Coaching • Organisation
CH-1224 Chêne-Bougeries (Genève)
Skype: thierryriva • iChat: quicclik • www.power-office.ch

------------------
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information. (Albert Einstein)


#6 Gilles Brunel

Gilles Brunel
  • Membres
  • PipPipPipPipPipPip
  • 709 messages
  • Genre :Homme
  • Lieu :Nice
  • FM Conférence : Nice 2008
  • FM : FMP11A
  • OS : OSXLeo


Posté 13 octobre 2011 - 14:00

Bonjour,

Les dossiers et les demandes doivent être liés avec un identifiant unique. Je crains, lorsque tu nous parles
de "numérotation" des demandes, que ce ne soit pas le cas.

Tu peux effectivement nous joindre ton fichier

Gilles
Gilles Brunel - chef de projet
MBP17/Leo/FMD6/FMD7/FMP8A/FMP9A/FMP10A/FMP11A
Editomac - FBA + FTN
Conseil, développement, formation, soutien à distance,
ebooks, cahiers pratiques et fiches astuces FileMaker,...

http://www.editomac.fr

#7 julcad

julcad
  • Membres
  • Pip
  • 21 messages
  • Lieu :Marseille
  • Intérêts :Photos

Posté 13 octobre 2011 - 23:13

Je rejoins Tora sur le fait de bien penser à décocher l'option : "Entrer automatiquement les valeurs prévues pendant l'importation", très important lorsque tu as des valeurs entrées automatiquement à la création de des enregistrements.
Je ne vois pas comment les valeurs se mélangent, une table est constituée d'enregistrements et chacun des enregistrements ont des champs, je ne comprends pas comment tu peux avoir des erreurs, tu dois avoir les même nom de rubrique donc tu dois important sur le "Nom identiques". Même si tu as 300 liens, il n'entre pas en ligne de compte.

Pour les liens il faut penser à bien importer les même valeurs d'identifiant que sur la table d'origine, sinon tes valeurs calculées vont être fausses et tu ne retrouveras pas tes petits dans tes tables liées.
Lors de l'import il n'y a pas de script qui entre en jeu, à part, bien sûr celui de l'import

ATTENTION à ne pas vouloir visualiser tes données sur les modèles avant la fin COMPLETE de TOUS les imports, dans ce cas tu peux avoir des données corrompues à cause des calculs qui ne se font pas bien

#8 Tora

Tora
  • Membres
  • PipPipPipPipPipPip
  • 1 139 messages
  • Genre :Homme
  • Lieu :Cergy Pontoise
  • Intérêts :Grimper, naviguer, découvrir, rêver... et entretenir le Tora.
  • FM Conférence : Nice 2008, Paris 2009, Paris 2010, La Rochelle 2011, Toulouse 2012
  • FM : FMP II à FMP12A
  • OS : Mac OS 10.6.8


Posté 14 octobre 2011 - 05:14

Bonjour,

Passer d'une version l'autre d'une application n'est jamais une chose simple. Il faut mettre au point toute une procédure. Fabrice dans site en a développé une : http://www.1-more-th...es-donnees.html

Lorsqu'on utilise des ID calculés automatiquement en entrée, Il ne faut pas seulement décocher l'option : "Entrer automatiquement les valeurs prévues pendant l'importation".
Il faut aussi redéfinir la valeur de départ de cet ID avec le pas de script Définir valeur en série suivante (Mon_ID ; max ( Mon_ID) +1 ) car sinon la nouvelle version repart avec ses valeurs à elle, ce qui détermine des liaisons sans logique comme dans ton cas et des dossiers qui se mélangent.
Philippe

"Le chemin n'existe pas, ce sont nos pas qui font le chemin (Antonio Machado)"

#9 jacqjoel

jacqjoel
  • Membres
  • Pip
  • 24 messages
  • Genre :Homme
  • Lieu :Belgique, Beauraing
  • Intérêts :Jardinage, informatique
  • FM : FMP11A
  • OS : Win xP et OSX.6


Posté 14 octobre 2011 - 15:50

Merci à tous. Je teste à nouveau l'ensemble ce week-end et je vous tiens au courant.
Je pense que le problème vient aussi du fait que certains modèles d'une table utilisent des données d'une autre table.
En attendant, je vous souhaite une excellent week-end ensoleillé j'espère.

#10 jacqjoel

jacqjoel
  • Membres
  • Pip
  • 24 messages
  • Genre :Homme
  • Lieu :Belgique, Beauraing
  • Intérêts :Jardinage, informatique
  • FM : FMP11A
  • OS : Win xP et OSX.6


Posté 18 octobre 2011 - 08:00

Voilà, je n'y arrive pas. J'ai tout essayé. En fait dans la première version, la numérotation des demandes et des dossiers est automatique. Dans la mise à jour, nous avons désactivé la numérotation automatique qui posait des problèmes lorsque certains agents supprimaient un enregistrement car la numérotation reprenait au numéro suivant.
Je n'ai pas pu essayer la proposition de Philippe car j'ai du mal à la comprendre.
"Il faut aussi redéfinir la valeur de départ de cet ID avec le pas de script Définir valeur en série suivante (Mon_ID ; max ( Mon_ID) +1 ) car sinon la nouvelle version repart avec ses valeurs à elle, ce qui détermine des liaisons sans logique comme dans ton cas et des dossiers qui se mélangent."
Philippe, peux-tu développer un peu si c'est possible pour toi?
Je vous joins les fichiers si vous voulez voir mieux ce dont je parle. Les fiches encodées sont fictives et ne correspondent pas à des situation réelles.

Merci d'avance.

#11 jacqjoel

jacqjoel
  • Membres
  • Pip
  • 24 messages
  • Genre :Homme
  • Lieu :Belgique, Beauraing
  • Intérêts :Jardinage, informatique
  • FM : FMP11A
  • OS : Win xP et OSX.6


Posté 18 octobre 2011 - 08:03

Malheureusement, j'ai le message que mes fichiers sont trop gros pour être envoyés. Je vais essayer de les réduire mais ?

#12 Tora

Tora
  • Membres
  • PipPipPipPipPipPip
  • 1 139 messages
  • Genre :Homme
  • Lieu :Cergy Pontoise
  • Intérêts :Grimper, naviguer, découvrir, rêver... et entretenir le Tora.
  • FM Conférence : Nice 2008, Paris 2009, Paris 2010, La Rochelle 2011, Toulouse 2012
  • FM : FMP II à FMP12A
  • OS : Mac OS 10.6.8


Posté 18 octobre 2011 - 14:05

Bonjour,

Lorsque tu importes une table, tu n'importes que les valeurs. Le numéro d'identifiant qui s'incrémente automatiquement à chaque nouvelle fiche n'est pas redéfini. Donc en créant de nouvelles fiches, elles reprennent des numéros déjà donnés et ça devient le gros mélange sur la base.
A la fin de chaque table importée, il est nécessaire d'ajouter le pas de script Définir valeur en série suivante (Mon_Identifiant ; max ( Mon_Identifiant ) +1 ) car il te permet d'enchainer sur de nouvelles fiches avec un numéro d'identifiant créé automatiquement dans la continuité des autres numéros.
Philippe

"Le chemin n'existe pas, ce sont nos pas qui font le chemin (Antonio Machado)"

#13 fab

fab
  • Membres
  • PipPipPipPip
  • 166 messages
  • Genre :Homme
  • Lieu :Marseille
  • FM Conférence : Lyon 2007, Nice 2008
  • FM : FMsadv 11 / FMp 8.5,9,10,11
  • OS : Windows Server2003


Posté 19 octobre 2011 - 09:34

Bonjour,

@Tora : pourquoi mettre ce pas dans un script ? il suffit de modifier le n° de depart dans la config de la rubrique de l'identifiant.

- à l'import décocher "Entrer automatiquement les valeurs prévues pendant l'importation"
- apres import verif pour chaque table l'id max
- modifier dans la configuration des rubriques identifiants le n° de depart avec le max ID + 1

c'est la meme demarche que Tora mais sans ajouter de pas dans un script.

#14 Philippe D

Philippe D
  • Membres
  • PipPipPipPipPip
  • 373 messages
  • Genre :Homme
  • Lieu :Rouen
  • FM Conférence : Toulouse 2012
  • FM : FMP 12 Advanced
  • OS : MAC OS 10.7, XP pro, Seven


Posté 19 octobre 2011 - 10:15

Bonjour

Non fab Tora a raison pour des raisons de maintenance évidentes il vaut mieux le faire dans le script d'importation.
Si tu dois faire ce genre de manbipulation à chaque changement de version un jour ou l'autre tu vas oublier de reconfigurer une rubrique identifiant.

De plus lorsque tu distribues tes produits les utilisateurs veulent des choses simples et n'ont pas envie de mettre les mains dans la gestion de la base de donnée.

Je ne parle même pas des Runtimes

A bientôt

Philippe.
Mieux vaut se perdre dans sa passion que perdre sa passion - Hegel

#15 Philippe D

Philippe D
  • Membres
  • PipPipPipPipPip
  • 373 messages
  • Genre :Homme
  • Lieu :Rouen
  • FM Conférence : Toulouse 2012
  • FM : FMP 12 Advanced
  • OS : MAC OS 10.7, XP pro, Seven


Posté 19 octobre 2011 - 10:30

Jacjoel dans ton script d'importation essaie la démarche suivante :

Activer modèle["fraisDeplacement"]
Afficher tous les enregistrements
supprimer tous les enregistrements
Importer enregistrements [Sans fenetre; "$cheminFichier";Ajouter;Windows ANSI] // La verifie que nom concordants apparait, et que "entrer automatiquement les valeurs prévues..." N'EST PAS COCHE"
Trier enregistrements [Rétablir,Sans fenêtre] //( là défini ta clé primaire en ordre croissant)
Afficher enreg/requete/page [dernier(e)]
Definir valeur en serie suivante [ "fraisDeplacement::zkp;incrementSerie ( fraisDeplacement::zkp ; 1)]

Voila essaies cela le tri prends du temps et reviens en gros a Définir valeur en série suivante (Mon_Identifiant ; max ( Mon_Identifiant ) +1 )

La methode de Fabrice est excellente aussi et plus rapide (pas de tri) mais il faut un peu plus de temps pour la comprendre

Evidemment ta vaiable $cheminfichier est le chemin vers ton fichier .fp7

Philippe
Mieux vaut se perdre dans sa passion que perdre sa passion - Hegel





Aussi tagué avec importation, mise à jour