Auteur Sujet: Document avec tous les porteurs d'un même patronyme  (Lu 7111 fois)

plus minus reset

0 Membres et 1 Invité sur ce sujet

Hors ligne DDdeBerdeux

Document avec tous les porteurs d'un même patronyme
« Réponse #19 de la page précédente: 05 Septembre 2007 à 11:16:13 »
Bonjour,
Dans cette version là, il y a les Notes des événements.
Vous pouvez aussi activer l'affichage des Notes de l'individu. Pour celà il suffit de supprimer les doubles tirets "--" qui se trouvent au début de la ligne n°4:
--      ,indi.comment as NOTES_INDIVIDU
Ce symbole -- a pour fonction la mise en commentaires de tout ce qui le suit sur la même ligne. Et comme les commentaires sont ignorés lors de l'exécution...
select distinct
       indi.nom as NOM
      ,indi.prenom as PRENOM
--      ,indi.comment as NOTES_INDIVIDU
      ,p.ev_ind_date_writen as "DATE"
      ,case
       when (p.type_event='FAM') then p.ev_libelle||': conjoint '||p.nom||
                                      coalesce(' '||p.prenom,'')
       when (p.ev_ind_type='EVEN') then p.ev_ind_description
       when (p.type_event='ENF') then p.nom_complet
       else p.ev_libelle||coalesce(' '||p.ev_ind_description,'')
       end as EVENEMENT
      ,p.ev_ind_ville as VILLE
      ,p.ev_ind_cp as CP
      ,p.ev_ind_comment as NOTES_EVENEMENT
from
(select distinct even.cle_fiche as cle_ind
from
(
select i.cle_fiche as cle_fiche
      ,i.nom as nom
      ,i.kle_dossier as dossier
      ,e.ev_ind_ville as ville
from evenements_ind e
     inner join individu i on i.cle_fiche=e.ev_ind_kle_fiche
union
select i.cle_fiche
      ,i.nom
      ,i.kle_dossier
      ,e.ev_ind_ville
from evenements_ind e
     inner join individu enf on enf.cle_fiche=e.ev_ind_kle_fiche
     inner join individu i on i.cle_fiche=enf.cle_pere
where e.ev_ind_type='BIRT'
union
select i.cle_fiche
      ,i.nom
      ,i.kle_dossier
      ,e.ev_ind_ville
from evenements_ind e
     inner join individu enf on enf.cle_fiche=e.ev_ind_kle_fiche
     inner join individu i on i.cle_fiche=enf.cle_mere
where e.ev_ind_type='BIRT'
union
select i.cle_fiche
      ,i.nom
      ,i.kle_dossier
      ,ef.ev_fam_ville
from evenements_fam ef
     inner join t_union u on u.union_clef=ef.ev_fam_kle_famille
     inner join individu i on i.cle_fiche=u.union_mari
union
select i.cle_fiche
      ,i.nom
      ,i.kle_dossier
      ,ef.ev_fam_ville
from evenements_fam ef
     inner join t_union u on u.union_clef=ef.ev_fam_kle_famille
     inner join individu i on i.cle_fiche=u.union_femme
) as even
where even.dossier=1
  and even.ville starting with 'Marseille'
  and upper(even.nom)=upper('MARTIN')
) as liste
,proc_etat_evenements_sans_tri(liste.cle_ind,'I') p
inner join individu indi on indi.cle_fiche=liste.cle_ind
where p.type_event<>'ADR'
order by indi.nom collate FR_FR
        ,indi.prenom collate FR_FR
        ,indi.cle_fiche
        ,p.ev_ind_date_year
        ,p.ev_ind_date_mois
        ,p.ev_ind_date
Le premier problème du BOA, c'est que dans cette version, Laurent lui a donné un format supérieur à 1024x768 (sans doûte pour intégrer la fonction de "Comparaison d'individus"). Ce qui fait que les boutons "Exécuter..." à droite ne sont plus accessibles à ceux qui ne peuvent afficher ce format. Le mieux est encore d'ajuster la fenêtre à la taille de l'écran, par l'option "Agrandir" (curieux alors qu'on veut réduire la fenêtre), qui apparait par un clic du bouton droit de la souris dans la barre de titre.
Il faut alors coller le texte de la requête à la place de la ligne existante:
select * from individu where kle_dossier=1
dans le panneau "Requête SQL" de l'onglet "SQL".
Vous pouvez alors modifier le texte de cette requête à votre convenance.
Pour l'exécution, il faut juste se souvenir que "Exécuter requête" doit être utilisé si la requête peut retourner des résultats à afficher (requête Select). Dans le cas contraire (requêtes Insert, Update qui modifient les données dans les tables), il faut utiliser le bouton "Exécuter Procédure".
Les résultats sont visibles dans l'onglet "Résultats". Et c'est là qu'apparait le deuxième problème :mrgreen:
Les champs de type memo comme ceux où sont stockées les Notes dans Ancestrologie, sont des champs multi-lignes dont la longueur est indéfinie. Dans le BOA, le texte est affiché sur une seule ligne, les séparateurs de lignes (CR+LF) apparaissant comme deux petits carrés. Et je n'ai pas trouvé comment donner simplement une forme plus présentable à ces champs, même en exportant les résultats en texte ou html.
La seule solution que j'ai pu trouver jusqu'à présent consiste à exécuter la requête non plus dans le BOA, mais dans le requêteur intégré à Ancestrologie (menu Outils/ Génération de requêtes SQL...). Cet outil permet d'exporter les résultats au format Excel. Il suffit ensuite de charger le fichier .xls obtenu dans Excel ou dans OpenOffice (je ne pense pas que Works puisse gérer ce format), puis de donner au tableau une forme plus présentable.
Si vous pensez éditer plus souvent ce type de document, il y a la possibilité d'exécuter la requête directement depuis OpenOffice comme je l'ai déjà expliqué (Christophe rappelle la méthode dans les Tutoriels).
Mais si votre amour du latin est trop exclusif, je crains que nous atteignons là un point de blocage :grin:
A+
André
Une application pleinement satisfaisante est toujours complétée par une mise à jour buggée. (Loi des Mises à Jour)
 

Hors ligne martin1525

  • AncestroJunior
  • ****
  • Messages: 292
Document avec tous les porteurs d'un même patronyme
« Réponse #20 le: 05 Septembre 2007 à 16:36:34 »
La seule solution que j'ai pu trouver jusqu'à présent consiste à exécuter la requête non plus dans le BOA, mais dans le requêteur intégré à Ancestrologie (menu Outils/ Génération de requêtes SQL...). Cet outil permet d'exporter les résultats au format Excel. Il suffit ensuite de charger le fichier .xls obtenu dans Excel ou dans OpenOffice (je ne pense pas que Works puisse gérer ce format), puis de donner au tableau une forme plus présentable.
Si vous pensez éditer plus souvent ce type de document, il y a la possibilité d'exécuter la requête directement depuis OpenOffice comme je l'ai déjà expliqué (Christophe rappelle la méthode dans les Tutoriels).
Mais si votre amour du latin est trop exclusif, je crains que nous atteignons là un point de blocage :grin:
A+
André

Bonjour,
Mon amour du latin est plutôt du "réchauffé"  :smile: Mais si je veux progresser dans le temps, il faut bien que j'en passe par là.
Quoiqu'il en soit, en passant par le requêteur le résultat me convient parfaitement. Merci de vous être donné la peine de me concocter cette requête. Merci aussi aux autres intervenants pour leurs réponses et leur aide.
Je vais indiquer que le sujet est résolu.
Cordialement,
J.louis
1 PC portable --> Windows Vista SP1 Basic
Ancestro 2008.0.0 v990 b5.105
1 PC portable --> Windows Home XP SP3