[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[pmb.user] Re: Différences et liens entre les requêtes dans les paniers et les états personnalisables
Merci Alain, merci Eric ;-) ;-)
Nous ne savions pas comment sélectionner un panier dans les actions
personnalisables - maintenant oui.
Une jolie petite routine.
Je suis sûre que cela rendra service à beaucoup de personnes.
Je mettrai mon texte et mes procédures à jour.
Il s'agira d'un grand "nettoyage par le vide" - car le point n° 3 de mon
commentaire de ce soir est devenu superflu (puisqu'il est inutile de changer
le statut des exemplaires), mais ce n'est pas grave, nous avons déjà tous
appris quelque chose, et c'est ça qui compte.
Bonne soirée,
Anne-Marie Cubat
----- Original Message -----
From: "Alain Montavid" <alain@montavid.com>
To: <pmb.user@pizz.net>
Sent: Tuesday, April 04, 2006 11:02 PM
Subject: [pmb.user] Re: Différences et liens entre les requêtes dans les
paniers et les états personnalisables
Bonsoir,
Voici un exemple qui propose un état qui liste :
gestionnaire, section, dewey, cote, code-barre et titre pour des
exemplaires contenus dans un ou plusieurs paniers chosis en paramètre.
SELECT lender_libelle, section_libelle,indexint_name AS 'Dewey',
expl_cote AS 'cote_pmb', expl_cb, tit1 FROM exemplaires, notices,
indexint, docs_section, lenders, caddie_content WHERE
expl_notice=notice_id AND expl_section=idsection AND
expl_owner=idlender AND indexint=indexint_id AND caddie_id IN
(!!CADDIE!!) AND expl_id=object_id ORDER BY section_libelle, expl_cote,
expl_cb
Le paramétrage est "Une liste de choix à partir d'une requête" et dans
les options il faut cocher "Liste multiples" (pour pouvoir sélectionner
plusieurs paniers d'un coup) et mettre la requête suivante :
SELECT idcaddie, CONCAT(name, ' (', comment, ')') FROM caddie WHERE
type='EXPL' ORDER BY name
Cette technique permet de présenter le titre et les commentaires de la
requête dans la liste de choix
Maintenant, pour rendre à César ce qui lui appartient : merci Eric :)
--
Alain
>-----Message d'origine-----
>De : pmb.user_owner@pizz.net [mailto:pmb.user_owner@pizz.net]
>De la part de Anne-Marie Cubat-Vandeputte
>Envoyé : mardi 4 avril 2006 19:38
>À : pmb.user@pizz.net
>Objet : [pmb.user] Re: Différences et liens entre les requêtes
>dans les paniers et les états personnalisables
>
>
>Bonsoir,
>
>Apparemment, vous avez bien compris.
>
>J'avais d'abord essayé de tester l'appartenance à un panier
>dans les actions personnalisables, mais je me suis "heurtée" à
>des problèmes de formulation et de syntaxe.
>C'est pourquoi j'ai renoncé à cette solution qui me semblait a
>priori la plus simple mais je n'ai pas réussi à la mettre en oeuvre.
>
>Si vous avez une solution à proposer, c'est génial, la
>procédure est simplifiée et abrégée pour tout le monde
>(abrégée puisqu'on ne doit plus changer de statut)..
>Il ne me restera plus qu'à changer une partie de mon texte (et
>à en supprimer une autre partie), mais c'est un détail. Tout
>le monde y gagnera.
>C'est comme ça que les choses bougent pour les utilisateurs de
>PMB - par la collaboration.
>Je suis sûre qu'une action personnalisable dont le critère de
>sélection est "pour tous les exemplaires contenus dans tel ou
>tel panier" sera appréciée par nous tous.
>
>J'attends donc de vos nouvelles avec impatience et curiosité
>... ;-) ,-)
>
>Anne-Marie Cubat
>
>
>
>
>----- Original Message -----
>From: "Alain Montavid" <alain@montavid.com>
>To: <pmb.user@pizz.net>
>Sent: Tuesday, April 04, 2006 6:51 PM
>Subject: [pmb.user] Re: Différences et liens entre les
>requêtes dans les paniers et les états personnalisables
>
>
>Bonjour,
>
>J'ai un petit problème avec le changement de statut, mais j'ai
>peut-être mal compris.
>
>Je m'explique : il est posssible dans une requête de type
>"Actions Personnalisables" de tester directement
>l'appartenance à un ou plusieurs paniers. Dans ce cas je ne
>comprends plus très bien l'intérêt à passer par un changement
>de statut. Mais je répète, j'ai peut-être mal compris.
>
>Je vais attendre une réponse avant de donner un exemple de
>test direct de panier dans une requête action personnalisable.
>--
>Alain
>
>>-----Message d'origine-----
>>De : pmb.user_owner@pizz.net [mailto:pmb.user_owner@pizz.net] De la
>>part de Anne-Marie Cubat-Vandeputte Envoyé : mardi 4 avril
>2006 17:59 À
>>: PMB Mailing List Objet : [pmb.user] Différences et liens entre les
>>requêtes dans les paniers et les états personnalisables
>>
>>
>>Bonjour à tous,
>>
>>
>>Voici la copie d'un texte que je vais mettre sous peu sur le Wiki
>>J'essaie de faire une petite synthèse, et d'expliquer les différences
>>entre les requêtes (paniers) et les états personnalisables, et la
>>manière de relier les deux.
>> Tout est relatif quand on se relit !!
>>Je réalise que le terme "petite" synthèse est peu adéquat, vu
>>la longueur de mon texte ;-) ;-)
>>
>>
>>Bonne journée à tous
>>(Une chouette balade aujourd'hui. Le soleil brille à Bruxelles !)
>>
>>
>>Anne-Marie Cubat
>>
>>Ecole N.-D. de la Sagesse
>>Avenue Van Overbeke, 10
>>B-1083 Bruxelles
>>Belgique
>>
>>
>>
>>Différences et liens entre les requêtes dans les paniers et les états
>>personnalisables
>>
>>
>>1) Notions de base sur les paniers, les contenus et les
>procédures qui
>>s'y appliquent
>>
>>a) Il y a différents types de paniers (en fonction du contenu), on le
>>constate entre autres dans les requêtes de sélection Ces requêtes
>>commencent par une des 3 manières suivantes :
>> - panier d'exemplaires : select expl_id as object_id,
>>'EXPL' as object_type from exemplaires
>> - panier de notices : select notice_id as object_id,
>>'NOTI' as object_type from notices
>> - panier de bulletins : select bulletin_id as
>>object_id, 'BULL' as object_type from bulletins (bulletins de
>>périodiques)
>>Le type de contenu détermine ce qu'on peut faire (ou non) avec les
>>éléments contenus dans le panier.
>>
>>
>>b) La notion de panier est géniale car elle permet d'agir globalement
>>sur un ensemble de notices, exemplaires ou bulletins.
>>
>>Dans un premier stade, on place par exemple des exemplaires dans un
>>panier, il y a donc une procédure de sélection (par la
>douchette ou par
>>exécution d'une requête sql).
>>
>>Dans un deuxième stade, on peut agir globalement sur tous ces
>>exemplaires. Certaines actions sont proposées par PMB :
>> éditer, transférer d'un panier à l'autre, vider le panier,
>>exporter, supprimer de la base de données.
>>D'autres actions (ou requêtes) peuvent être rédigées et
>paramétrées par
>>l'utilisateur, et vous trouvez sur le Wiki quelques exemples de
>>requêtes applicables à un panier :
>> changer les exemplaires ou les notices de statut, de section,
>>d'indexation, de cote de rangement, etc.
>>
>>Par l'exécution d'une seule requête d'action, on modifie donc
>un champ
>>dans une série de notices ou d'exemplaires, il s'agit donc
>d'une mise à
>>jour irréversible de la base de données.
>>Pas irréversible à 100% puisqu'on pourrait essayer de refaire la
>>manoeuvre en sens inverse, mais dès que vous lancez l'exécution, le
>>processus est lancé, et les champs concernés seront modifiés.
>>Prudence donc.
>>
>>.
>>c) Par conséquent, les procédures applicables aux paniers sont de 2
>>types :
>> - requêtes de sélection : on choisit les notices ou exemplaires à
>>ajouter dans le panier en fonction de tel ou tel critère (condition à
>>vérifier)
>> - requêtes d'action : on agit globalement afin de modifier un champ
>>dans une table, il s'agit donc d'une mise à jour
>>(update) d'une partie de la base de données Attention dans le cas des
>>requêtes de sélection!
>> On ne remplace pas le contenu du panier, on ajoute "à ce qui s'y
>>trouve déjà" - donc il faut souvent commencer par vider le
>panier avant
>>d'y mettre de nouveaux éléments.
>>
>>
>>Exemple de requête de sélection d'exemplaires : on veut sélectionner
>>tout le rayon littérature donc tous les exemplaires dont la cote de
>>rangement est >=800 et <=890 (dans l'hypothèse d'une indexation
Dewey)
>>
>>Code sql (attention si vous faites un copier-coller - effacer
>les ENTER
>>dans ce code, sinon il ne fonctionne pas) select expl_id as
>object_id,
>>'EXPL' as object_type from exemplaires where left(expl_cote,3) >=
>>'!!param1!!' and
>>left(expl_cote,3) <= '!!param2!!'
>>Explications
>> - on sélectionne les exemplaires : select expl_id as object_id
>> - 'EXPL' as object_type
>> - à partir de la table exemplaires : from exemplaires
>> - à condition que la cote de rangement soit >=800 et <=890 :
>>where left(expl_cote,3) >= '!!param1!!' and left(expl_cote,3) <=
>>'!!param2!!'
>> '!!param1!!' et '!!param2!!' symbolisent deux valeurs
>introduites au
>>clavier
>>
>>
>>Exemple de requête d'action sur des exemplaires : on veut changer le
>>statut de certains exemplaires (voir sur le Wiki d'autres requêtes de
>>changement)
>>
>>Code sql (attention si vous faites un copier-coller - effacer
>les ENTER
>>dans ce code, sinon il ne fonctionne pas) update exemplaires set
>>expl_statut=!!nouveau_type!! where expl_id in (CADDIE(EXPL))
>>Explications
>> - on met à jour (update) la table exemplaires
>> - on change (set) le contenu du champ expl_statut
>> - en fonction du choix introduit au clavier par l'utilisateur
>>(!!nouveau_type!!)
>> - et ceci pour tous les exemplaires contenus dans ce panier
>> la condition est donc where expl_id in (CADDIE(EXPL))
>> la requête doit être exécutée si - et seulement si - "id"
>>(la clef primaire d'identification) a été sélectionnée dans le
panier.
>>
>>La requête d'action se termine toujours par une des 3 conditions
>> where expl_id in (CADDIE(EXPL)) : panier d'exemplaires
>> where notice_id in (CADDIE(NOTI)) : panier de notices
>> where bulletin_id in (CADDIE(BULL)) : panier de bulletins
>>
>>Vous verrez plus loin l'utilité primordiale de cette requête de
>>changement de statut (voir point n° 3).
>>
>>
>>d) Mode opératoire des requêtes
>>
>>Avant de pouvoir exécuter une requête sur un panier (qu'elle soit
>>d'action ou de sélection), il faut d'abord sélectionner le panier;
>>ensuite la liste des requêtes possibles (action -
>>sélection) s'affichera.
>>
>>N.B. La liste des requêtes affichées peut vous sembler de prime abord
>>incomplète, mais PMB ne montre pas toutes les procédures d'action qui
>>ont été créées.
>>PMB ne vous propose que les requêtes qui pourraient
>s'appliquer au type
>>de panier choisi.(en fonction de son contenu : notices,
>exemplaires ou
>>bulletins).
>>
>>
>>
>>2) Les états (ou actions) personnalisables (administration -
éditions)
>>
>>a) But général
>>Ces états personnalisables permettent par exemple
>> - d'extraire les données nécessaires pour imprimer des
>étiquettes, des
>>listes de livres, des listes de lecteurs, etc.
>> - de faire des comptages, des statistiques (lecteurs par âge,
>>exemplaires par statut, par section ....) en explorant au
>départ toute
>>la base de données, mais en ne retenant que les exemplaires qui
>>répondent à telle ou telle condition et en faisant des liens entre
>>différentes tables
>>
>>
>>b) Schéma de base et exemples (impression et tri)
>>
>>Le schéma général (très simplifié !) est le suivant
>> - select : liste de champs
>> - from : liste de tables
>> - where : liste de conditions
>> - group by : comment regrouper et éviter les doublons
>> - order by : dans quel ordre trier et afficher les résultats
>>
>>
>>Deux exemples de requêtes d'impression d'étiquettes de
>rangement - voir
>>détails sur le Wiki (étiquettes et inventaire
>>- 2e et 3e parties)
>>
>>Requête d'impression d'étiquettes de rangement - pour les exemplaires
>>dont le code-barres est >= ... et <= ...
>>
>>Code sql (attention si vous faites un copier-coller - effacer
>les ENTER
>>dans ce code, sinon il ne fonctionne pas) select left(expl_cote,3),
>>substring(expl_cote from 5 for 3), substring(expl_cote from 9 for 3),
>>tit1, expl_cb from exemplaires, notices where expl_cb >='!!param1!!'
>>and expl_cb <='!!param2!!' and expl_notice=notice_id order by expl_cb
>>
>>C'est la procédure que j'emploie lorsque je viens d'encoder une série
>>de livres. Il me suffit de dire que je veux des étiquettes pour les
>>exemplaires dont le code-barres est >= ...
>>et <= ...,
>>et j'obtiens les données nécessaires pour les étiquettes des 30
>>derniers exemplaires encodés (par exemple).
>>
>>Variante de cette requête d'impression d'étiquettes - pour les
>>exemplaires dont le statut est ..
>>select left(expl_cote,3), substring(expl_cote from 5 for 3),
>>substring(expl_cote from 9 for 3), tit1, expl_cb from exemplaires,
>>notices where expl_statut=!!param1!! and
>expl_notice=notice_id order by
>>expl_cb
>>
>>Variante de cette requête d'impression d'étiquettes - pour les
>>exemplaires qui sont dans le panier ..
>>select left(expl_cote,3), substring(expl_cote from 5 for 3),
>>substring(expl_cote from 9 for 3), tit1, expl_cb from exemplaires,
>>notices where caddie_id in (!!CADDIE!!) and expl_id=object_id
>> and expl_statut=!!param1!! and expl_notice=notice_id order by
>>expl_cb
Paramètres : liste de choix à partir d'une requête
Options : SELECT idcaddie, CONCAT(name, ' (', comment, ')') FROM caddie
WHERE type='EXPL' ORDER BY name
Cocher "liste multiple" pour pouvoir sélectionner plussieurs paniers d'un
coup
>>
>>Exemple d'une requête de statistiques - comptage des exemplaires par
>>prêteur, section et statut select lender_libelle as Prêteur,
>>section_libelle as Section, statut_libelle as Statut, count(*) as
>>Nombre from exemplaires, lenders, docs_section, docs_statut where
>>expl_owner=idlender and idsection=expl_section and
>expl_statut=idstatut
>>group by idlender, idsection, idstatut order by lender_libelle,
>>section_libelle, statut_libelle
>>
>>
>>
>>c) Différence entre mode "administration" et en mode "éditions".
>>
>>Les mêmes requêtes apparaissent dans les deux onglets - à condition
>>d'avoir accordé les autorisations aux autres personnes que
>admin (bib,
>>cat, circ ..) (N'oubliez pas, lorsque vous créez l'état
>>personnalisable, de cocher les cases requises en-dessous de
>la requête
>>afin d'accorder les "autorisations" nécessaires).
>>
>>Les états personnalisables peuvent donc être exécutés en mode
>>"administration" ou en mode "éditions".
>>L'onglet administration est pratique pour tester la
>procédure, mais vu
>>qu'en général on souhaite imprimer le résultat des requêtes, il est
>>plus judicieux de les exécuter dans l'onglet "éditions".
>>Ainsi vous aurez la possibilité d'exporter ensuite le
>résultat vers un
>>fichier de type Excel ou vers un autre format, et d'améliorer la mise
>>en pages - dans Excel, Word ou un logiciel d'impression d'étiquettes,
>>suivant les circonstances.
>>
>>
>>
>>Bon travail !
>>
>>Cordialement,
>>
>>Anne-Marie
>>
>>Liste de diffusion pmb.user
>>Pour se désinscrire :
>>mailto:pmb.user_request@sigb.net?subject=unsubscribe
>>
>>
>>
>
>Liste de diffusion pmb.user
>Pour se désinscrire :
>mailto:pmb.user_request@sigb.net?subject=unsubscribe
>
>
>
>
>Liste de diffusion pmb.user
>Pour se désinscrire :
>mailto:pmb.user_request@sigb.net?subject=unsubscribe
>
>
>
Liste de diffusion pmb.user
Pour se désinscrire : mailto:pmb.user_request@sigb.net?subject=unsubscribe
Liste de diffusion pmb.user
Pour se désinscrire : mailto:pmb.user_request@sigb.net?subject=unsubscribe