Editeur de recherche & Tables 1 -> N

Bonjour

Je rencontre un problème de recherche sur une table liée.

Quand j’écris le code, çà fonctionne parfaitement, par contre, avec l’éditeur de recherche de 4D, ça ne fonctionne pas en v.15 . (çà fonctionnait en v.13)

Je vous montre un exemple :

Sachant que j’ai un lien 1 -> N entre [CLIENTS] et [EXCEPTIONNEL]

Code 4D :

[]27337681;[/]

Le résultat de ma recherche me ramène bien 29 enregistrements trouvés. (Ce que je dois avoir)

Par contre, via l’éditeur de recherche :

[]27337689;[/]

Le résultat de ma recherche me ramène 8 enregistrements trouvés. (Ce qui est faux)

Le problème est le même si je choisis un autre champ de ma table N comme critère de recherche. Le nombre d’enregistrements trouvés n’est jamais le bon mais jamais nul non plus.

Je ne sais plus comment faire …

Merci si vous avez une piste pour contourner le problème

Up …

Personne pour me donner une piste ?

:pray:

Pour pouvoir avancer, il faut nous donner la version exacte de 4D que vous utilisez avec le n° de build ainsi que de dire sous quel OS , en 32 ou 64 bit, dans quel mode interprété, compilé, fusionné, en monoposte ou en client-server. Bref, on a besoin de tout connaitre pour répondre à votre question.

Une copie écran de la structure permettant de voir ces deux tables et les relations entre elles ?
des fois qu’on rate un truc…

Merci de précsiser également si votre lien est automatique ou non et/ou si vous lancez des commandes qui activent le lien avant votre CHERCHER.

: Manuel PIQUET

Merci de préciser également si votre lien est automatique
CHERCHER est “insensible” aux liens automatiques, d’après la doc (comme orda, d’ailleurs).
Il me semble que la commande prend le chemin relationnel le plus court, et s’il y en plusieurs de même longueur, elle opte pour celui qui passe par les numéros les moins élevés (table la plus ancienne, champ le plus ancien).

Le probleme n’est pas avec CHERCHER mais avec l’éditeur de recherche il me semble… :roll:

Bonjour

Version interprétée en 15.6 (build 15.222813) sur MAC OS 10.12.6

Le problème :

  • Existe depuis que j’ai migré cette base depuis la V.13
  • Existe en version interprétée et compilée monoposte diffusée sur des systèmes Mac OS 10.10.5 à 10.13.6

[]27761484;“Your comment here…”[/]

[]27761495;“Your comment here…”[/]

Merci Sébastien. Je vois que les deux liens (aller comme retour) sont automatiques. Je te déconseille ce réglage, il est vraiment préférable de mettre un lien quel qu’il soit en manuel à ce niveau et de le passer quand c’est nécessaire en automatique (cela m’arrive très fréquemment pour un lien aller, et je crois jamais pour un lien retour).
Je me demande si ton souci ne vient pas de là, d’ailleurs : mettre un lien en auto revient à dire à 4D “occupe toi des requêtes sur ce qui est de l’autre coté du lien, moi, ça me fatigue”. Autrement dit à passer outre tes propres requêtes si jamais elles diffèrent de ce qu’il fait en auto : pour le contexte enregistrement courant, chercher tous les fils pour un lien retour, chercher le père pour un lien aller. Un test simple est de mettre ces liens en manuel et de tester ta requête…

J’ai testé les 2 recherches après avoir défini mes types de lien aller et retour comme manuels.

Le résultat est toujours bon (29 enregistrements trouvés) avec ma commande 4D

Le résultat me ramène 0 enregistrements avec l’éditeur de recherche

: Arnaud DE MONTARD

Je vois que les deux liens (aller comme retour) sont automatiques. Je
te déconseille ce réglage,
Ahaaaaaahh :razz: c’est quiquiavaitraisondedemander alors :?:

Sebastien, tu peux refaire ton test avec ce code pour voir
<code 4D>
FIXER LIENS AUTOMATIQUES(Vrai;Faux)
CHERCHER([CLIENTS])
$0:=(OK=1)
FIXER LIENS AUTOMATIQUES(Faux;Faux)

</code 4D>

C’est toujours naze, mais autrement :mrgreen: avant tu avais 8 au lieu de 29, avec les liens manuels tu as 0 au lieu de 29. Je pencherais pour un bug de l’éditeur dans cette version. Quelle v15 utilises-tu ? Tu as essayé une version plus récente (une autre v15, ou une v16 ou v17) ?
Sinon il est peut-être possible de contourner avec https://github.com/miyako/4d-component-classic-query-editorl’éditeur de Miyako>, mais ça change carrément d’interface.

Ok, j’ai testé ce code, et mon résultat est toujours 0 enregistrements

J’ai également pensé à un bug de l’éditeur, puisque çà fonctionne bien en v 13, mais en v17 évaluation, j’avais le même problème

C’est tout de même bizarre :-?, je viens de tester avec cette même version de v15.6 (même build) sur macOS 10.14.2 et bien cela fonctionne correctement…

As-tu vérifié ta base avec le CSM pour voir ? essais de reconstruire les index tes clés sont alphanumériques (chez moi ce sont des entiers longs, mais bon)

Bonjour,

Comment peut-on donner un conseil tel que celui là ?

: Manuel PIQUET

<code 4D>

FIXER LIENS AUTOMATIQUES(Vrai;Faux)
CHERCHER([CLIENTS])
$0:=(OK=1)
FIXER LIENS AUTOMATIQUES(Faux;Faux)

</code 4D>

La commande CHERCHER ne nécessite pas que les liens soient automatiques.
Merci de relire ce chapitre de la doc : http://doc.4d.com/4Dv17/4D/17/Presentation-des-liens.300-3730102.fr.html

Pour voir ce qu’il se passe je conseille ce code :

<code 4D>
DÉCRIRE EXÉCUTION RECHERCHE(vrai)

CHERCHER([CLIENTS];[EXCEPTIONNEL]Date_feature=!31/10/2017!)

$plan:=Lire dernier plan recherche(Description format Texte)
FIXER TEXTE DANS CONTENEUR($plan)
DÉCRIRE EXÉCUTION RECHERCHE(Faux)

TRACE

DÉCRIRE EXÉCUTION RECHERCHE(Vrai)

CHERCHER([CLIENTS])

$plan1:=Lire dernier plan recherche(Description format Texte)
FIXER TEXTE DANS CONTENEUR($plan1)
DÉCRIRE EXÉCUTION RECHERCHE(Faux)

TRACE

</code 4D>

Là en comparant ce qu’il y a dans le presse-papier (et en le collant dans un éditeur de texte), il sera intéressant de voir les différences.

Cordialement,

… suite le mail est parti trop vite !

Le plan de recherche devrait être du type

Join on Table : City : CLIENTS.Code = Exceptionnel.Code_Client
Date_Facture == !31/10/2017!

Cordialement,

: Olivier DESCHANELS

Comment peut-on donner un conseil tel que celui là ?

: Manuel PIQUET

<code 4D>

FIXER LIENS AUTOMATIQUES(Vrai;Faux)
CHERCHER([CLIENTS])
$0:=(OK=1)
FIXER LIENS AUTOMATIQUES(Faux;Faux)

</code 4D>

La commande CHERCHER ne nécessite pas que les liens soient
automatiques.
Merci de relire ce chapitre de la doc :
http://doc.4d.com/4Dv17/4D/17/Presentation-des-liens.300-3730102.fr.ht
l

Autant pour moi, j’ai fait une confusion avec QR ETAT :oops: j’ai modifié le code après l’avoir copié sur le forum j’aurais pas du. Mais de toute façon, cela n’a pas d’incidence.

Merci Olivier,

Je vais essayer çà au plus vite.