|
Construction Clé composée et filtre sur cette clé |
Started by mlion, Sep., 15 2004 8:37 PM - 3 replies |
| |
| | | |
|
| |
Posted on September, 15 2004 - 8:37 PM |
Bonjour,
J'ai défini dans une table (fichier HF) une clé composée de la manière suivante cle_comp est constituée de code_usine sur 3 caractères code _place numérique code_libelle sur 13 caractères type sur 1 caractère
Cette clé contient des doublons.
Je crée une table et cherche à faire à filtrer les enregistrements sur cette clè sans succès ! Dans ma table fichier j'ai plusieurs enregistrements avec pour cle_comp "ABC" 2 "5004250" et "p" Voici mon code de filtre: t1 est une chaîne = HConstruitValClé(NomenclaturesPF,Cle_Comp,"ABC",2,"5004250"+"P")+hValMin t2 est une chaîne = HConstruitValClé(NomenclaturesPF,Cle_Comp,"ABC",2,"5004250"+"P")+hValMax HFiltre(NomenclaturesPF,Cle_Nomenclature,t1,t2)
PS : si je créé une autre clé composée que sur des zones chaines de caractères mon filtre fonctionne ....
Merci de votre aide.
Michel. |
| |
| |
| | | |
|
| | |
| |
Posted on September, 16 2004 - 1:26 AM |
"Michel LION" <mlion@tele2.fr> écrivait news:41486f26@news.pcsoft.fr:
Dans ma table fichier j'ai plusieurs enregistrements avec pour cle_comp "ABC" 2 "5004250" et "p" Voici mon code de filtre: t1 est une chaŒne = HConstruitValCl‚(NomenclaturesPF,Cle_Comp,"ABC",2,"5004250"+"P")+hValMi n t2 est une chaŒne = HConstruitValCl‚(NomenclaturesPF,Cle_Comp,"ABC",2,"5004250"+"P")+hValMa x HFiltre(NomenclaturesPF,Cle_Nomenclature,t1,t2)
Salut,
Dans HConstruitValClé tu utilise une clé (Cle_Comp) et dans HFiltre une autre (Cle_Nomenclature) !!
Dans ton cas on peut écrire plus simplement : HFiltreCommencePar(NomenclaturesPF,Cle_Nomenclature,... "ABC",2,"5004250P")
Note : on est d'accord que la dernières composante de la clé composée n'est pas du tout indiqué et que l'avant dernière est partielle ?
-- En esperant t'avoir aidé. ted |
| |
| |
| | | |
|
| | |
| |
Posted on September, 16 2004 - 11:20 AM |
En effet j'ai fait une petite erreur de copier/coller et le code réel est :
Voici mon code de filtre: t1 est une chaîne = HConstruitValClé(NomenclaturesPF,Cle_Comp,"ABC",2,"5004 250"+"P")+hValMin t2 est une chaîne = HConstruitValClé(NomenclaturesPF,Cle_Comp,"ABC",2,"5004 250"+"P")+hValMax HFiltre(NomenclaturesPF,Cle_Comp,t1,t2)
Il ne marche pas pour autant !
PS : je ne veux pas hfiltrecommence par mais un filtre (avec une seule sélection de clé) que sur ma clé composée "ABC,2,5004250,P"
Merci.
Michel. |
| |
| |
| | | |
|
| | |
| |
Posted on September, 17 2004 - 12:16 AM |
"Michel LION" <mlion@tele2.fr> écrivait news:41493e17@news.pcsoft.fr:
En effet j'ai fait une petite erreur de copier/coller et le code réel est :
Voici mon code de filtre: t1 est une chaîne = HConstruitValClé(NomenclaturesPF,Cle_Comp,"ABC",2,"5004 250"+"P")+hValMin t2 est une chaîne = HConstruitValClé(NomenclaturesPF,Cle_Comp,"ABC",2,"5004 250"+"P")+hValMax HFiltre(NomenclaturesPF,Cle_Comp,t1,t2)
Il ne marche pas pour autant !
PS : je ne veux pas hfiltrecommence par mais un filtre (avec une seule sélection de clé) que sur ma clé composée "ABC,2,5004250,P"
Merci.
Michel.
Salut,
tu n'as pas réondu à ma question: "Note : on est d'accord que la dernières composante de la clé composée n'est pas du tout indiqué et que l'avant dernière est partielle ?"
Mais d'apprès ce que je lis ici "P" fait parti de la denière composante et pas de l'anat dernière, c'est ça ?
dans ce cas il faut écrire : HConstruitValClé(NomenclaturesPF,Cle_Comp,"ABC",2,"5004250","P") et pas HConstruitValClé(NomenclaturesPF,Cle_Comp,"ABC",2,"5004250"+"P")
(Pour ceux qui n'auraient pas vu la différence : + est transfomé en , devant "P")
Note aussi que je ne comprends pas pourquoi tu ne veux pas hfiltrecommence alors que dans ton code tu ajoute HvalMin sur la borne min et hValMax sur la borne max ! Si tu veux faire une recherche à l'identique tu as HFiltreIdentique qui est aussi plus simple d'utilisation : HFiltreIdentique(NomenclaturesPF,Cle_Comp,"ABC",2,"5004250","P")
Autre solution encore : Une vue ou une requête avec un crtière sur chacun des composant de la clé, et c'est hyperfile qui utilisera de lui même la clé composée en fonction de tes critères !
-- En esperant t'avoir aidé. ted |
| |
| |
| | | |
|
| | | | |
| | |
|