Forum FileMaker - FM Source: Numéro De Série Contextuel - Forum FileMaker - FM Source

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Numéro De Série Contextuel Noter : -----

#1 L'utilisateur est hors-ligne   Fredo d;o) 

  • Pip
  • Groupe : Membres
  • Messages : 29
  • Inscrit(e) : 28 février 06
  • Genre :Homme
  • Lieu :StÉ
  • FM Conférence : --Aucune--
  • OS : MacOsX Leopard 10.5.8
  • FM : FMP85A


Posté 12 juin 2010 - 21:20

Bonjour à tous :)

Voici un cas d'école sur lequel je penche depuis deux jours sans trouver une solution simple et efficace à mettre en oeuvre.

J'explique ce que je cherche à faire, bien-sûr, si possible, sans passer par l'utilisation d'un script, uniquement par calcul donc, et c'est bien là qui est la difficulté... pour moi en tout cas :)

J'ai une table "Fournisseurs", pour chaque fiche je génère un code de référence unique (mélange du nom du fournisseur avec le Id de la fiche). Ok, jusqu'à là, aucun soucis...

Maintenant, j'ai une table "Produits" où chaque fiche est toujours liée à un fournisseur, là aussi, je voudrais générer un code de référence produit unique, avec numéro de série mais avec un début de comptage à zéro par fournisseur... par exemple :

Four001
- Prod0001
- Prod0002
- Prod0003

Four002
- Prod0001
- Prod0002

Four003
- Prod0001
- Prod0002
- Prod0003
- Prod0004
- Prod0005

Etc.

Autrement dit, je voudrais un compteur produit indépendant par fournisseur, un numéro de série qui tient uniquement compte des fiches produit associées au fournisseur correspondant, en excluant tous les autres produits.

Je voudrais évidemment faire ça uniquement par calcul, car par script ça nécessite une action utilisateur que je souhaiterai éviter (Fmp 8,5).

Voilà, j'espère qu'une solution pas trop compliquée existe, car cela conditionne la suite du développement... merci à tous de vos lumières :)

Fredo
Fredo
"Un pas à la fois me suffit..." (Gandhi)
0

#2 L'utilisateur est en ligne   fabriceN 

  • PipPipPipPipPipPipPipPip
  • Groupe : Membres
  • Messages : 4 146
  • Inscrit(e) : 30 mars 05
  • Genre :Homme
  • Lieu :France/Belgique
  • Intérêts :les femmes, les voitures, l'argent
  • FM Conférence : Paris 2010
  • OS : OSX.6, Win7
  • FM : FMPA 9,10,11 / FMS11


Posté 12 juin 2010 - 21:36

C'est possible avec une auto entrée en résultat de calcul, basé sur un auto-lien ID_founisseur = ID_fournisseur, et un décompte des valeurs liées (fonction Nombre en 8.5)
Par contre, attention, ce système ne garantit pas l'unicité, comme d'ailleurs aucune donnée provenant du monde physique (ton identifiant basé sur le nom du fournisseur est une GROSSE erreur : qu'adviendra-t-il s'il change de nom ?)
Fabrice
Développeur Certifié FileMaker 8, 9, 10, 11

Image IPB
Toute une gamme de services conçus spécialement pour les utilisateurs et développeurs FileMaker.

C2 QuickExpertise, quand le forum ne suffit plus : ne perdez plus des heures sur un problème !
1-more-tube, le premier (et seul ?) magazine vidéo en Français sur FileMaker.

mes fonctions perso sur FMfunctions.com
0

#3 L'utilisateur est hors-ligne   Fredo d;o) 

  • Pip
  • Groupe : Membres
  • Messages : 29
  • Inscrit(e) : 28 février 06
  • Genre :Homme
  • Lieu :StÉ
  • FM Conférence : --Aucune--
  • OS : MacOsX Leopard 10.5.8
  • FM : FMP85A


Posté 12 juin 2010 - 23:15

Bonsoir Fabrice et merci pour ta réponse :)

Voir le messagefabriceN, le 12 juin 2010 - 21:36, dit :

C'est possible avec une auto entrée en résultat de calcul, basé sur un auto-lien ID_founisseur = ID_fournisseur, et un décompte des valeurs liées (fonction Nombre en 8.5)

Ha, très intéressante cette piste, il faut donc, si j'ai bien compris, faire un lien de la table "Fournisseur" sur elle même et de se baser sur ce lien pour compter le nombre d'enregistrements liés dans la table "Produits"... est-ce bien ça ? :huh:

Petite question, que se passe-t-il avec ce système de numérotation lorsqu'on supprime un ou plusieurs enregistrements liés dans la table "Produits" ? ... n'est-il pas possible que deux enregistrements se retrouvent avec le même numéro ?


Voir le messagefabriceN, le 12 juin 2010 - 21:36, dit :

Par contre, attention, ce système ne garantit pas l'unicité, comme d'ailleurs aucune donnée provenant du monde physique (ton identifiant basé sur le nom du fournisseur est une GROSSE erreur : qu'adviendra-t-il s'il change de nom ?)

Ta remarque est très juste, l'unicité de référence du produit en lui même n'est pas essentiel pour le moment, puisqu'il sera toujours associé à un fournisseur qui, lui, aura une référence unique, puisque son nom sera concaténé avec le numéro de ID de la fiche, nombre unique s'il en est.

Si jamais le fournisseur change de nom, je pense que le plus simple serait de créer une nouvelle fichier fournisseur, mais cela reste une question à étudier évidemment...

Merci pour ta réponse, j'espère avoir bien compris ta méthode, je tente ça demain et te tiens au courant... :)

Fredo
Fredo
"Un pas à la fois me suffit..." (Gandhi)
0

#4 L'utilisateur est en ligne   fabriceN 

  • PipPipPipPipPipPipPipPip
  • Groupe : Membres
  • Messages : 4 146
  • Inscrit(e) : 30 mars 05
  • Genre :Homme
  • Lieu :France/Belgique
  • Intérêts :les femmes, les voitures, l'argent
  • FM Conférence : Paris 2010
  • OS : OSX.6, Win7
  • FM : FMPA 9,10,11 / FMS11


Posté 12 juin 2010 - 23:34

Voir le messageFredo d;o), le 12 juin 2010 - 23:15, dit :

Ha, très intéressante cette piste, il faut donc, si j'ai bien compris, faire un lien de la table "Fournisseur" sur elle même et de se baser sur ce lien pour compter le nombre d'enregistrements liés dans la table "Produits"... est-ce bien ça ? :huh:

Ah non, attention ! c'est un autolien de la table produits sur elle-même. Ensuite, tu peux peut-être utiliser la fonction Max ( autolien::numeroDeSerie ), cela évitera une partie des doublons, mais pas tous.
Fabrice
Développeur Certifié FileMaker 8, 9, 10, 11

Image IPB
Toute une gamme de services conçus spécialement pour les utilisateurs et développeurs FileMaker.

C2 QuickExpertise, quand le forum ne suffit plus : ne perdez plus des heures sur un problème !
1-more-tube, le premier (et seul ?) magazine vidéo en Français sur FileMaker.

mes fonctions perso sur FMfunctions.com
0

#5 L'utilisateur est hors-ligne   Fredo d;o) 

  • Pip
  • Groupe : Membres
  • Messages : 29
  • Inscrit(e) : 28 février 06
  • Genre :Homme
  • Lieu :StÉ
  • FM Conférence : --Aucune--
  • OS : MacOsX Leopard 10.5.8
  • FM : FMP85A


Posté 12 juin 2010 - 23:55

Voir le messagefabriceN, le 12 juin 2010 - 23:34, dit :

Ah non, attention ! c'est un autolien de la table produits sur elle-même.

Ha d'accord, j'ai bien fais de demander confirmation, j'avais compris qu'il s'agissait de la table "Fournisseurs", ok merci, je vais essayer ça...

Voir le messagefabriceN, le 12 juin 2010 - 23:34, dit :

Ensuite, tu peux peut-être utiliser la fonction Max ( autolien::numeroDeSerie ), cela évitera une partie des doublons, mais pas tous.

Ok, cela reste un point important en effet, il faudra que je trouve un moyen d'éviter les doublons...

Bon, je teste tout ça et te tiens au courant, encore un grand merci :bien:

Fredo
Fredo
"Un pas à la fois me suffit..." (Gandhi)
0

#6 L'utilisateur est hors-ligne   Fredo d;o) 

  • Pip
  • Groupe : Membres
  • Messages : 29
  • Inscrit(e) : 28 février 06
  • Genre :Homme
  • Lieu :StÉ
  • FM Conférence : --Aucune--
  • OS : MacOsX Leopard 10.5.8
  • FM : FMP85A


Posté 13 juin 2010 - 12:07

Bonjour Fabrice :)

Voilà, juste pour te dire que j'ai testé ta solution, ça a l'air de bien fonctionner, la fonction "max" est plus sûre que "nombre" pour éviter les doublons.

D'ailleurs, malgré plusieurs tests, je n'ai pas réussi à créer des doublons avec "max", je me doute que dans des cas particuliers deux numéros identiques pourront coexister, mais je n'ai pas réussi à reproduire ce cas de figure dans une utilisation "normale", si tu as des suggestions à ce sujet, je suis preneur :)

Merci encore une fois pour ton aide "précieuse" sur ce coup :bien: , ça m'a bien rendu service... à charge de revanche ;)

Fredo
Fredo
"Un pas à la fois me suffit..." (Gandhi)
0

#7 L'utilisateur est hors-ligne   FranckD 

  • PipPip
  • Groupe : Membres
  • Messages : 68
  • Inscrit(e) : 01 février 08
  • Genre :Homme
  • Lieu :Lille
  • Intérêts :Vidéo numérique (imovie), retouche photos (photoshop).
  • FM Conférence : --Aucune--
  • OS : OSX.10.5.8
  • FM : FMP11.0 Advanced


Posté 30 juin 2010 - 10:48

Voir le messagefabriceN, le 12 juin 2010 - 21:36, dit :

C'est possible avec une auto entrée en résultat de calcul, basé sur un auto-lien ID_founisseur = ID_fournisseur, et un décompte des valeurs liées


Bonjour à tous,

mais dans ce cas, la première valeur créée n'est-elle pas 0 et non 1 ?
"Côtoyer la perfection sans jamais la tutoyer"... c'est progresser sans cesse !
0

#8 L'utilisateur est hors-ligne   johanns 

  • Pip
  • Groupe : Membres
  • Messages : 25
  • Inscrit(e) : 20 juillet 10
  • Genre :Homme
  • Lieu :Montréal
  • FM Conférence : --Aucune--
  • OS : OS X 10.6
  • FM : FMP 11.0


Posté 22 juillet 2010 - 18:14

Bonjour

J'ai lu attentivement le sujet de Fredo car je souhaite mettre en place un système qui ressemble beaucoup au sien.
Je me permets de (re)poster sur cette section du forum car je n'ai pas tout compris de l'explication de Fabrice (désolé), il est vrai que je ne suis pas encore très expérimenté sur FMP

Ma base est destinée à une biobanque et je cherche à automatiser la création d'un code unique pour chaque tissu avec un code à plusieurs chiffres

A- les n premiers chiffres correspondent chacun à l'ID d'une valeur différente (comme par exemple l'espece, l'organe, l'année etc ...) ex: 123456
B- les x derniers chiffres formant un numéro s'implémentant de 1 à chaque nouvelle entrée dont les n premiers chiffres sont identiques ex: 001

donc je voudrais concatener A et B pour donner la référence AB (dans mon exemple: concatener de n+x = 123456001, 123456002 etc...)
la difficulté (pour moi) étant de trouver comment faire en sorte que FM décompte le nombre d'occurences de A pour déduire le B implémenté de 1

La différence avec Fredo c'est que mes tissus seront conservés indéfiniment, il n'y aura pas de changement de A (j'espère que vous me comprenez) ;-/
Si l'un ou l'autre ou quelqu'un pouvait me ré-expliquer comment faire, ce serait super.
Merci d'avance
0

#9 L'utilisateur est en ligne   fabriceN 

  • PipPipPipPipPipPipPipPip
  • Groupe : Membres
  • Messages : 4 146
  • Inscrit(e) : 30 mars 05
  • Genre :Homme
  • Lieu :France/Belgique
  • Intérêts :les femmes, les voitures, l'argent
  • FM Conférence : Paris 2010
  • OS : OSX.6, Win7
  • FM : FMPA 9,10,11 / FMS11


Posté 22 juillet 2010 - 18:46

attention, il ne s'agit alors pas du tout d'un ID au sens où on l'entend en base de données, mais d'une référence.

D'ailleurs, il faudra plusieurs rubriques pour la générer.

1 - une rubrique A avec ton code de début (tu remarqueras d'ailleurs que ton explication est contradictoire : tu parle d'un ID avec des valeurs différentes dans A, et dans B tu veux un numéro séquentiel pour les enregistrements ayant même A.
2- une rubrique B qui accueille ton code de fin
3 - un lien (dit auto-lien) entre A et A
4 - une rubrique auto-entrée ou scriptée du type : Definir ( max = max ( lien::B ) ; cas ( max ; incrementSerie ( max ; 1 ) ; "001" ))
5 - une rubrique C qui concatène A & B.
Fabrice
Développeur Certifié FileMaker 8, 9, 10, 11

Image IPB
Toute une gamme de services conçus spécialement pour les utilisateurs et développeurs FileMaker.

C2 QuickExpertise, quand le forum ne suffit plus : ne perdez plus des heures sur un problème !
1-more-tube, le premier (et seul ?) magazine vidéo en Français sur FileMaker.

mes fonctions perso sur FMfunctions.com
0

#10 L'utilisateur est hors-ligne   johanns 

  • Pip
  • Groupe : Membres
  • Messages : 25
  • Inscrit(e) : 20 juillet 10
  • Genre :Homme
  • Lieu :Montréal
  • FM Conférence : --Aucune--
  • OS : OS X 10.6
  • FM : FMP 11.0


Posté 22 juillet 2010 - 19:34

Merci de ta reponse rapide Fabrice
Je me suis mal exprimé concernant mon A: par "valeurs différentes", je voulais parler des différents chiffres qui composent le A
A est donc déja lui-même un concatener ex: 123456 = rubrique1-rubrique2-rubrique3 ...rubrique6
Et par ID je désignais la valeur (entre 0 et 9) prise par une entrée dans chaque rubrique : ex: valeur de la rubrique1 = chiffre de 0 à 9 (mettons que pour la rubrique1, on a les valeurs 1 pour humain, 2 pour rat etc...).

Si ça peut aider, je suis parti d'un fichier Excel importé dans lequel j'utilisais les fonctions RECHERCHEV et CONCATENER (je n'avais pas défini de fonction pour calculer mon "B", je le faisais manuellement si on peut dire)
Pour la rubrique1 par exemple, des que j'entrais dans Excel un choix d'espece (depuis une liste), la fonction RECHERCHEV me donnait son "ID" (especeID si on veut)
Je procédais de même pour les autres rubriques et je faisais un CONCATENER des différents "ID" de rubriques qui me donnaient le A.
Maintenant, je cherche à faire de même avec FMP
J'ai posé la question aussi dans le forum Liens, mais pour le moment ce n'est pas clair, je bloque :-(

3- comment crée-t-on un autolien? faut-il créer une occurence de la table qui contient A?
4- s'agit-il d'une rubrique supplémentaire qui compte le nombre de A? Si oui, aurai-je besoin d'une rubrique pour compter le nombre de A et une autre pour afficher B (nombre de A+1)?
Le calcul que tu affiches peut-il être utilisé tel quel? (désolé si mes questions paraissent curieuses, je me forme seul sur FMP avec ce projet, et je n'ai pas beaucoup d'expérience en programmation)
0

#11 L'utilisateur est hors-ligne   johanns 

  • Pip
  • Groupe : Membres
  • Messages : 25
  • Inscrit(e) : 20 juillet 10
  • Genre :Homme
  • Lieu :Montréal
  • FM Conférence : --Aucune--
  • OS : OS X 10.6
  • FM : FMP 11.0


Posté 26 juillet 2010 - 16:48

Je ne suis pas bien sur d'avoir exposé le problème correctement, je vais démarrer un nouveau sujet en espérant avoir l'aide de plusieurs d'entre vous
Fabrice, si tu passes par la, je sur presque sur qu'avec des reponses aux points 3 et 4 j'y verrai d'un coup plus clair ;-)
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

FM Source est un service gratuit de La Source multimédia - spécialistes FileMaker
Développement FileMaker. Formation FileMaker. Hébergement FileMaker. Le blog FileMaker. Vente de licences FileMaker. Conférence FileMaker. Forum FileMaker. FileMaker resources