Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
pthierry Pro

Inscrit le: 27 Fév 2003 Messages: 455 Localisation: Paris 13
|
Posté le: 23 Avr 2004 16:24 Sujet du message: Idées pour les requetes |
|
|
Je suis pour l'instant à cours d'idées pour les requetes avec le BOA
si vous avez des besoins , je peux les traduire en sql
je profite de l'occasion pour dire que si Ancestro est devenu payant (très peu) , l'accès à la base de données est libre et laisse beaucoup de possibilités , ce qui n'est pas le cas des autres logiciels de généalogie _________________ N'oubliez pas la fonction Rechercher...
Cordialement Pierre |
|
Revenir en haut |
|
 |
Charlet Pro


Inscrit le: 04 Avr 2003 Messages: 2068 Localisation: (59) France
|
Posté le: 13 Mai 2004 16:04 Sujet du message: |
|
|
Ayant débuté ma généalogie avec le tableur Excel j’ai ensuite rentré mes données à l’aide d’Ancestrologie, cependant la taille de ma base augmentant il devient fastidieux de rentre parallèlement mes données dans Excel et Ancestro, Excel toutefois me permettant de visualiser les actes non trouvés
Ayant parcouru le post Imprimer ou voir actes absents je me suis intéressé un peu plus à ces requêtes
Est il concevable d’écrire une requête permettant de cibler les actes naissances à trouver pour les individus porteurs d’un sosa, en incluant le N° sosa, le nom, prénom date et lieu.
De même pour les actes de décès
Et de même pour les actes de mariages.
Ignare dans ce langage, et m’adressant au professionnel que tu es, quel site conseilles tu pour débuter, et ainsi utiliser au mieux les performances du Boa de Laurent. _________________ Cordialement Roger |
|
Revenir en haut |
|
 |
garnierfrancoise Pro

Inscrit le: 27 Juil 2003 Messages: 521
|
|
Revenir en haut |
|
 |
Lau Pro, Modérateur


Inscrit le: 01 Avr 2003 Messages: 1541
|
Posté le: 13 Mai 2004 16:38 Sujet du message: |
|
|
Le deuxième de ta liste me paraît assez simple pour commencer. Tu en trouveras une variante (plus ancienne ?) ici.
A noter que j'ai aussi mis sur mon site une aide SQL. |
|
Revenir en haut |
|
 |
Charlet Pro


Inscrit le: 04 Avr 2003 Messages: 2068 Localisation: (59) France
|
Posté le: 13 Mai 2004 17:37 Sujet du message: |
|
|
Merci à vous deux pour ces sites je m’y plonge dés que je peux, heureux de savoir que ton WE s’est bien passé et que tu as apprécie la piscine musée, en effet un WE n’est pas de trop si l’on veut se plonger dans Lille et sa métropole. Pour la demande de mes requêtes j’attends la réponse de Pierre _________________ Cordialement Roger |
|
Revenir en haut |
|
 |
pthierry Pro

Inscrit le: 27 Fév 2003 Messages: 455 Localisation: Paris 13
|
Posté le: 13 Mai 2004 20:24 Sujet du message: |
|
|
Ok Charlet , je vais me pencher sur tes demandes et j'essairai de mettre des explications pour faciliter la compréhension
pour les sites sur SQL , les propositions de garnierfrançoise et Laurent sont très bien
ma préférence va au site de F.Brouard : http://sqlpro.developpez.com/indexSQL.html
c'est en français , bien expliqué et avec des exmples _________________ N'oubliez pas la fonction Rechercher...
Cordialement Pierre |
|
Revenir en haut |
|
 |
Charlet Pro


Inscrit le: 04 Avr 2003 Messages: 2068 Localisation: (59) France
|
Posté le: 14 Mai 2004 07:51 Sujet du message: |
|
|
Merci pour cette adresse, je vais dés que possible étudier cela. _________________ Cordialement Roger |
|
Revenir en haut |
|
 |
pthierry Pro

Inscrit le: 27 Fév 2003 Messages: 455 Localisation: Paris 13
|
Posté le: 14 Mai 2004 12:20 Sujet du message: |
|
|
Charlet , tu veux une requête permettant de cibler les actes naissances à trouver pour les individus porteurs d’un sosa, en incluant le N° sosa, le nom, prénom date et lieu
N° sosa, le nom, prénom
on les trouve dans la table INDIVIDU
dans cette table on va donc sélectionner ces 3 colonnes (ou champs) par l'ordre select
et on met un filtre : ceux qui ont un n° SOSA
date et lieu
on les trouve dans la table EVENEMENTS_IND
dans cette table on va donc sélectionner ces 2 colonnes (ou champs) par l'ordre select
et on met un filtre : ceux dont la colonne EV_IND_ACTE est à zéro ou Null (l'acte n' pas été
trouvé)
il faut ensuite relier ces 2 tables par une jointure entre 2 colonnes qui stocke la même info :
le NIP = la clé attribuée à chaque individu
dans la table INDIVIDU c'est CLE_FICHE
dans la table EVENEMENTS_IND c'est EV_IND_KLE_FICHE
on fait aussi un lien sur le n° de dossier (1 par défaut)
on trie le résultat sur le n° SOSA par l'ordre Order by (par défaut le tri est ascendant
si on le veut descendant : ORDER BY I.NUM_SOSA DESC )
dans le select on peut changer l'ordre des colonnes et on les renomme avec as
le I. ou E. font référence aux tables ( I.NUM_SOSA appartient à la table INDIVIDU I)
SELECT I.NUM_SOSA as SOSA, I.NOM, I.PRENOM,
E.EV_IND_DATE_WRITEN as Dates, E.EV_IND_VILLE as Lieu
FROM INDIVIDU I, EVENEMENTS_IND E
WHERE I.KLE_DOSSIER = 1
AND I.NUM_SOSA IS NOT NULL
AND E.EV_IND_KLE_FICHE = I.CLE_FICHE
AND E.EV_IND_KLE_DOSSIER = I.KLE_DOSSIER
AND E.EV_IND_TYPE = 'BIRT'
AND (E.EV_IND_ACTE = 0 or E.EV_IND_ACTE IS NULL)
ORDER BY I.NUM_SOSA
NB : la colonne NUM_SOSA est en double precision et affiche donc des décimales , vu que le SQL d'Interbase ou Firebird est pauvre en fonction maths , je n'ai pas trouvé d'ordre pour formater et enlever ces décimales
pour les décès il suffit de remplacer BIRT par DEAT
Tu peux tester et dire ce que tu en penses _________________ N'oubliez pas la fonction Rechercher...
Cordialement Pierre
Dernière édition par pthierry le 16 Mai 2004 17:43; édité 1 fois |
|
Revenir en haut |
|
 |
Charlet Pro


Inscrit le: 04 Avr 2003 Messages: 2068 Localisation: (59) France
|
Posté le: 14 Mai 2004 12:43 Sujet du message: |
|
|
Merci pour cette information et surtout pour cette formation, je vais essayer cela ce WE. (si possible car je suis de garde.)
Je te tiens informé des résultats.
Bon WE _________________ Cordialement Roger |
|
Revenir en haut |
|
 |
Lau Pro, Modérateur


Inscrit le: 01 Avr 2003 Messages: 1541
|
Posté le: 14 Mai 2004 14:23 Sujet du message: |
|
|
pthierry a écrit: | NB : la colonne NUM_SOSA est en double precision et affiche donc des décimales , vu que le SQL d'Interbase ou Firebird est pauvre en fonction maths , je n'ai pas trouvé d'ordre pour formater et enlever ces décimales |
Le BOA ne fait pas apparaître les décimales chez moi. |
|
Revenir en haut |
|
 |
pthierry Pro

Inscrit le: 27 Fév 2003 Messages: 455 Localisation: Paris 13
|
Posté le: 14 Mai 2004 16:13 Sujet du message: |
|
|
J'ai oublié de préciser pour l'affichage du n° SOSA , les décimales ne s'affichent que sous certains requeteurs et non pas dans BOA qui est donc un excellent produit  _________________ N'oubliez pas la fonction Rechercher...
Cordialement Pierre |
|
Revenir en haut |
|
 |
Lau Pro, Modérateur


Inscrit le: 01 Avr 2003 Messages: 1541
|
Posté le: 14 Mai 2004 17:07 Sujet du message: |
|
|
Merci, c'est trop d'honneur...
Même pas fait exprès |
|
Revenir en haut |
|
 |
Charlet Pro


Inscrit le: 04 Avr 2003 Messages: 2068 Localisation: (59) France
|
Posté le: 15 Mai 2004 08:16 Sujet du message: |
|
|
J'ai testé cette requête, le Boa m'indique pas d'enregistrement sélectionné, de même pour les décès DEAT _________________ Cordialement Roger |
|
Revenir en haut |
|
 |
pthierry Pro

Inscrit le: 27 Fév 2003 Messages: 455 Localisation: Paris 13
|
Posté le: 16 Mai 2004 09:27 Sujet du message: |
|
|
Charlet a écrit: | J'ai testé cette requête, le Boa m'indique pas d'enregistrement sélectionné, de même pour les décès DEAT |
c'est peut-etre normal pou vérifier change la ligne de la requete
and (EV_IND_ACTE = 0 or EV_IND_ACTe is null )par
and EV_IND_ACTE = 1
et tu devrais retrouver tous tes SOSA
pour t'habituer aux tables , releve les NIP de quelques individus que tu connais bien
fais un select * from (mets içi le nom de la table) et regarde si tu retrouves les infos correspondantes
tu peux faire le select pour toutes les tables et voir comment sont stockées les infos
bonne continuation _________________ N'oubliez pas la fonction Rechercher...
Cordialement Pierre |
|
Revenir en haut |
|
 |
Charlet Pro


Inscrit le: 04 Avr 2003 Messages: 2068 Localisation: (59) France
|
Posté le: 16 Mai 2004 20:04 Sujet du message: |
|
|
Charlet , tu veux une requête permettant de cibler les actes naissances à trouver pour les individus porteurs d’un sosa, en incluant le N° sosa, le nom, prénom date et lieu
N° sosa, le nom, prénom
on les trouve dans la table INDIVIDU
dans cette table on va donc sélectionner ces 3 colonnes (ou champs) par l'ordre select
et on met un filtre : ceux qui ont un n° SOSA
date et lieu
on les trouve dans la table EVENEMENTS_IND
dans cette table on va donc sélectionner ces 2 colonnes (ou champs) par l'ordre select
et on met un filtre : ceux dont la colonne EV_IND_ACTE est à zéro ou Null (l'acte n' pas été
trouvé)
il faut ensuite relier ces 2 tables par une jointure entre 2 colonnes qui stocke la même info :
le NIP = la clé attribuée à chaque individu
dans la table INDIVIDU c'est CLE_FICHE
dans la table EVENEMENTS_IND c'est EV_IND_KLE_FICHE
on fait aussi un lien sur le n° de dossier (1 par défaut)
on trie le résultat sur le n° SOSA par l'ordre Order by (par défaut le tri est ascendant
si on le veut descendant : ORDER BY I.NUM_SOSA DESC )
dans le select on peut changer l'ordre des colonnes et on les renomme avec as
le I. ou E. font référence aux tables ( I.NUM_SOSA appartient à la table INDIVIDU I)
SELECT I.NUM_SOSA as SOSA, I.NOM, I.PRENOM,
E.EV_IND_DATE_WRITEN as Dates, E.EV_IND_VILLE as Lieu
FROM INDIVIDU I, EVENEMENTS_IND E
WHERE I.KLE_DOSSIER = 1
AND I.NUM_SOSA IS NOT NULL
AND E.EV_IND_KLE_FICHE = I.CLE_FICHE
AND E.EV_IND_KLE_DOSSIER = I.KLE_DOSSIER
AND E.EV_IND_TYPE = 'BIRT'
AND (E.EV_IND_ACTE = 0 or E.EV_IND_TYPE IS NULL) ORDER BY I.NUM_SOSA
NB : la colonne NUM_SOSA est en double precision et affiche donc des décimales , vu que le SQL d'Interbase ou Firebird est pauvre en fonction maths , je n'ai pas trouvé d'ordre pour formater et enlever ces décimales
pour les décès il suffit de remplacer BIRT par DEAT
Tu peux tester et dire ce que tu en penses
Ok Pierre j'avais sauvegardé ceci et l'erreur vient de AND (E.EV_IND_ACTE = 0 or E.EV_IND_TYPE IS NULL) au lieu de
AND (E.EV_IND_ACTE = 0 or E.EV_IND_ACTE IS NULL)
cela fonctionne de même pour les décès
Avec and EV_IND_ACTE = 1
j'obtiens les actes trouvés concernant les sosa
Je continue la formation de ce language avec les sites en // avec tes requêtes spécifiques à Ancestrologie en "excercices corrigés" _________________ Cordialement Roger |
|
Revenir en haut |
|
 |
|