Filtre dynamique sous MUIBase
3 sujets de 1 à 3 (sur un total de 3)
-
Boujour,
Je me suis remis à MUIBase après plusieurs années de pause en utilisant AmigaBase.
Maintenant je suis bloqué au niveau des filtres dynamique.
J’ai une Table avec un champ qui fait référence à une autre table avec plusieurs champs.
Ce filtre manuel dans la Table marche:
(LIKE Reference.Champ « *mot* »)
J’ai essaye ceci dans la programmation d’un bouton:
(DEFVAR variable « *mot* »)
(SETFILTERSTR Table « (LIKE Reference.Champ variable) »)
Mais cela échoue.
Quelqu’un a un exemple complexe de filtrage dynamique ?
Merci d’avance.
Salut Poly,
bon alors je me suis renseigné sur la ML de MUIbase pour avoir des exemples d’experts.
Tout d’abord DEFVAR doit être utilisé que dans des programmes de projet et même là doit être placé au début du programme.
Pascal Marcellin qui utilise de manière intensive MUIbase préconise lui d’utiliser la forme :
(SETFILTERSTR Table
(SPRINTF "LIKE %s.%s "%s""
(ATTRNAME Table.Reference)
(ATTRNAME ReferencedTable.Champ)
"*mot*"
)
)
Un exemple concret (et complexe) qu’il utilise dans un de ces projets :
(SETFILTERSTR Utilisateurs
(SPRINTF "(OR (GETADMINMODE) %s.%s.%s
(LET ((projets (REST (SELECT %s FROM %s WHERE (= %s ::%s.%s)))))
(FOR ALL %s WHERE (AND (= %s %s) (in (LIST %s) projets)) DO (EXIT TRUE))))"
(TABLENAME Connexion)
(ATTRNAME Connexion.Utilisateur)
(ATTRNAME Connexion.Utilisateur.Responsable)
(ATTRNAME Affaires.Projet)
(TABLENAME Affaires)
(ATTRNAME Affaires.Utilisateur)
(TABLENAME Connexion)
(ATTRNAME Connexion.Utilisateur)
(TABLENAME Affaires)
(ATTRNAME Affaires.Utilisateur)
(TABLENAME Utilisateurs)
(ATTRNAME Affaires.Projet)
)
)
Voilà sinon pour la suite la liste MUIbase est ton amie, surtout quand on est polyglot
3 sujets de 1 à 3 (sur un total de 3)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › Filtre dynamique sous MUIBase