Récolement + 4.8 Liste pour inventaire ou bibliographie à partir d'un panier d'exemplaires

Bonjour à tous,
Nous souhaitons faire un récolement (inventaire) cet été. Nous nous sommes basées sur le tuto de cité doc (http://www.citedoc.net/gestion/pmb_fiches/pmb_6_3_2_faire_inventaire_pointage_20120606.pdf).
Cependant nous sommes bloquées à l'étape 3.  J'ai trouvé le code MySQL pour la procédure "4.8 Liste pour inventaire ou bibliographie à partir d'un panier d'exemplaires" que j'ai copié/collé de (http://www.citedoc.net/index_bis.php?page=pmb_etats_personnalisables) pour mettre dans Administration --> Actions --> Personnalisables --> Bouton "ajouter une procédure". Mais le code n'est sûrement pas bon car un message d'erreur s'affiche. Je n'ai pas trouvé de fichier à télécharger pour pouvoir importer le code MySql de cette procédure. Je sais comment importer une procédure grâce aux codes MySQL qui sont téléchargeables sur le site d'Anne-Marie Cubat mais pour ici je ne trouve pas.
Pouvez-vous nous aider ?
Perrine
Message d'erreur : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '35') union select expl_cote as Cote, concat(\'N° \',bulletin_numero, \' - \', m' at line 1




Réponses

  • Bonjour !
    La requête SQL se trouve dans le texte que vous avez importé du 4.8, entre "requete=" et "comment ="
    En pratique donc, c'est :
    select expl_cote as Cote, concat(author_name,\', \',author_rejete) as \'Auteur / N° bulletin\', tit1 as \'Titre (document / périodique)\', ed_name as Editeur, CONCAT(\"\'\", expl_cb, \"\'\") as \'Code-Barres\', IF(pret_idexpl = expl_id, \'Sorti\',statut_libelle) as \'Disponibilité\' from notices left join responsability on (responsability_notice=notice_id and responsability_type=0) left join authors on responsability_author=author_id left join publishers on ed_id=ed1_id left join exemplaires on expl_notice=notice_id left join pret on expl_id = pret_idexpl left join docs_statut on expl_statut=idstatut left join caddie_content on object_id=expl_id where caddie_id in (!!caddie!!) union select expl_cote as Cote, concat(\'N° \',bulletin_numero, \' - \', mention_date) as \'N° périod.\',tit1 as Titre, ed_name as Editeur, CONCAT(\"\'\", expl_cb, \"\'\") as \'Code-Barres\', IF(pret_idexpl is not null,\'Sorti\',statut_libelle) as \'Disponibilité\' from exemplaires inner join docs_statut on (expl_statut=idstatut) left join pret on (pret_idexpl=expl_id) inner join bulletins on (expl_bulletin=bulletin_id) inner join notices on (bulletin_notice=notice_id) left join publishers on (ed1_id=ed_id), caddie_content where object_id=expl_id and caddie_id in (!!caddie!!) order by Cote, \'Auteur/N° bulletin\', \'Titre/Nom périodique\'
    En retravaillant la requête en se faisant quitte des alias, le résultat est moins beau mais plus facile à analyser.
    Déjà, séparer la requête en une pour les monographies et une pour les périodiques rendrait déjà le tout plus simple.
    Et pour en savoir plus sur la teneur de l'erreur, le plus simple est de faire tourner la requête (remplacer !!caddie!! par le numéro de caddie) dans le MySQL directement. C'est un select, donc vous ne pouvez pas "casser" la base !
    Sinon, sans savoir quelles sont vos versions, c'est difficile de vous proposer quelque chose de plus précis
    Bénédicte.





Connectez-vous ou Inscrivez-vous pour répondre.