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: 17 Oct 2003 16:30 Sujet du message: Requetes avec BOA |
|
|
Comme Laurent nous a fourni un(e) joli(e) BOA(te à outils)
autant en profiter
voici une requete en sql non normée mais + facile à lire pour retrouver les relations entre individus dans les événements individuels à copier dans le requeteur et à tester (par défaut le dossier est à 1)
SELECT I.NOM, I.PRENOM,R.REF_RELA_LIBELLE as Relations,
R1.REF_EVE_LIB_LONG as Evenements, I2.NOM as NOMS, I2.PRENOM as PRENOMS , E.EV_IND_DATE_WRITEN as Dates , E.EV_IND_VILLE as Lieu
FROM T_ASSOCIATIONS T, INDIVIDU I, EVENEMENTS_IND E,
REF_RELA_TEMOINS R, REF_EVENEMENTS R1 , INDIVIDU I2
WHERE T.ASSOC_KLE_DOSSIER = 1
AND T.ASSOC_TABLE = 'I'
AND I.CLE_FICHE = T.ASSOC_KLE_ASSOCIE
AND I.KLE_DOSSIER = T.ASSOC_KLE_DOSSIER
AND I2.KLE_DOSSIER = T.ASSOC_KLE_DOSSIER
AND E.EV_IND_KLE_DOSSIER = T.ASSOC_KLE_DOSSIER
AND E.EV_IND_CLEF = T.ASSOC_EVENEMENT
AND E.EV_IND_KLE_FICHE = T.ASSOC_KLE_IND
AND R.REF_RELA_CODE = T.ASSOC_TYPE
AND R1.REF_EVE_LIB_COURT = E.EV_IND_TYPE
AND T.ASSOC_KLE_IND = I2.CLE_FICHE
ORDER BY I.NOM, I.PRENOM
A+ Pierre
Dernière édition par pthierry le 06 Fév 2004 11:42; édité 2 fois |
|
Revenir en haut |
|
 |
patschw Pro

Inscrit le: 28 Fév 2003 Messages: 234 Localisation: Lyon
|
Posté le: 17 Oct 2003 20:04 Sujet du message: |
|
|
Oh ! C'est tout bon, tout bon, ça ! Des plugins pour le BOA ? Un petit menu dans ton BOA, Lau ? Pour les conserver et les utiliser plus facilement. Je pense que Pierre va faire des émules sur ton super outil. Tout s'articule bien. C'est formidable. Bravo !
Patrick |
|
Revenir en haut |
|
 |
crolain Pro

Inscrit le: 27 Fév 2003 Messages: 585
|
Posté le: 17 Oct 2003 20:31 Sujet du message: |
|
|
Attention aux excès !!
BOA est un très bel outil pour faire des interrogations sur la base de données.
Par contre, faire des modifications de la base à l'aide de commandes d'update pourrait risquer de donner des incompatibiltés avec Ancestrologie et provoquer des "Violations d'accès" impossibles à débugger.
Prudence donc.
Cordialement,
Claude |
|
Revenir en haut |
|
 |
pthierry Pro

Inscrit le: 27 Fév 2003 Messages: 455 Localisation: Paris 13
|
Posté le: 17 Oct 2003 22:13 Sujet du message: |
|
|
Complètement d'accord avec Claude pour que le requeteur de BOA soit réservé à des select
pour les update et delete la + grande prudence s'impose
A+
Pierre |
|
Revenir en haut |
|
 |
AquaBlue Pro


Inscrit le: 02 Mar 2003 Messages: 1199 Localisation: Paris - France
|
Posté le: 18 Oct 2003 00:22 Sujet du message: |
|
|
Bravo Pierre
Excellente idée
Tu as abandonné IBEasy+  _________________ Les Anomalies & Suggestions et la FAQ sont là.
 |
|
Revenir en haut |
|
 |
pthierry Pro

Inscrit le: 27 Fév 2003 Messages: 455 Localisation: Paris 13
|
Posté le: 18 Oct 2003 10:14 Sujet du message: |
|
|
AquaBlue a écrit: |
Tu as abandonné IBEasy+  |
non je l'ai , mais pas encore utilisé , je travaille avec QuickDesk ou meme avec le module de base de données de Delphi
et j'aime bien faire mes requetes à la main
A+ Pierre |
|
Revenir en haut |
|
 |
pthierry Pro

Inscrit le: 27 Fév 2003 Messages: 455 Localisation: Paris 13
|
Posté le: 18 Oct 2003 13:47 Sujet du message: |
|
|
patschw a écrit: | Un petit menu dans ton BOA, Lau ? Pour les conserver et les utiliser plus facilement. |
ou 2 boutons : save et load , + besoin d'historique
et maintenant la suite eh oui
les relations dans les événements familiaux :
SELECT I.NOM as NOM_TEMOIN, I.PRENOM AS PRENOM_TEMOIN ,
R1.REF_RELA_LIBELLE as RELATION ,
R.REF_EVE_LIB_LONG as EVENEMENT,
I1.NOM as NOM_MARI, I1.PRENOM AS PRENOM_MARI,
I2.NOM as NOM_FEMME, I2.PRENOM AS PRENOM_FEMME,
E.EV_FAM_DATE_WRITEN as DATES , E.EV_FAM_VILLE as LIEU
FROM T_ASSOCIATIONS T, EVENEMENTS_FAM E, T_UNION T1, INDIVIDU I,
INDIVIDU I1, INDIVIDU I2, REF_EVENEMENTS R, REF_RELA_TEMOINS R1
WHERE T.ASSOC_KLE_DOSSIER = 1
AND T.ASSOC_TABLE = 'U'
AND E.EV_FAM_CLEF = T.ASSOC_EVENEMENT
AND E.EV_FAM_KLE_DOSSIER = T.ASSOC_KLE_DOSSIER
AND T1.UNION_CLEF = E.EV_FAM_KLE_FAMILLE
AND I.CLE_FICHE = T.ASSOC_KLE_ASSOCIE
AND I1.CLE_FICHE = T1.UNION_MARI
AND I2.CLE_FICHE = T1.UNION_FEMME
AND R.REF_EVE_LIB_COURT = E.EV_FAM_TYPE
AND R1.REF_RELA_CODE = T.ASSOC_TYPE
ORDER BY I.NOM, I.PRENOM
tjs dans le sql artisanal + facile à lire
A+ Pierre
Dernière édition par pthierry le 06 Fév 2004 11:48; édité 1 fois |
|
Revenir en haut |
|
 |
desbonnets Expert


Inscrit le: 27 Fév 2003 Messages: 106 Localisation: dunkerque
|
Posté le: 19 Oct 2003 10:13 Sujet du message: |
|
|
Une petite question:
lorsque j'ai lancé une requete, j'ai une liste qui apparait... Normal.
Mais que se passe t'il si je clique sur le bouton Appliquer ?? |
|
Revenir en haut |
|
 |
pthierry Pro

Inscrit le: 27 Fév 2003 Messages: 455 Localisation: Paris 13
|
Posté le: 19 Oct 2003 13:09 Sujet du message: |
|
|
desbonnets a écrit: | Une petite question:
lorsque j'ai lancé une requete, j'ai une liste qui apparait... Normal.
Mais que se passe t'il si je clique sur le bouton Appliquer ?? |
rien si ta requete est un select puisqu'il s'agit d'une consultation de la base
sinon danger sauf dans les mises à jour de masse prévues par Laurent
pour ceux qui veulent en savoir + sur le sql voir l'excellent site de Frédéric Brouard
http://sqlpro.developpez.com/
A+ Pierre |
|
Revenir en haut |
|
 |
Lau Pro, Modérateur


Inscrit le: 01 Avr 2003 Messages: 1541
|
Posté le: 20 Oct 2003 10:00 Sujet du message: |
|
|
crolain a écrit: | Attention aux excès !!
BOA est un très bel outil pour faire des interrogations sur la base de données.
Par contre, faire des modifications de la base à l'aide de commandes d'update pourrait risquer de donner des incompatibiltés avec Ancestrologie et provoquer des "Violations d'accès" impossibles à débugger.
Prudence donc.
Cordialement,
Claude |
Tu as tout à fait raison de le souligner. Je l'ai aussi indiqué sur ma page d'accueil : Faites attention à ce que vous faites et n'oubliez pas de faire des sauvegardes. |
|
Revenir en haut |
|
 |
AquaBlue Pro


Inscrit le: 02 Mar 2003 Messages: 1199 Localisation: Paris - France
|
Posté le: 20 Oct 2003 20:19 Sujet du message: |
|
|
On peut aussi conseiller de tester sur une copie de la base, de vérifier que le résultat est bien celui qu'on attendait et alors seulement de lancer la requête sur la vraie base. _________________ Les Anomalies & Suggestions et la FAQ sont là.
 |
|
Revenir en haut |
|
 |
pthierry Pro

Inscrit le: 27 Fév 2003 Messages: 455 Localisation: Paris 13
|
Posté le: 14 Nov 2003 12:43 Sujet du message: |
|
|
Pour rechercher des notes dans l'onglet INFOS :
attention des caractères spéciaux peuvent apparaître dans les notes (genre CRLF si vous avez tapé la touche entrée à la saisie de vos notes)
SELECT DISTINCT INDIVIDU.CLE_FICHE as NIP,
INDIVIDU.NOM,
INDIVIDU.PRENOM,
INDIVIDU.DATE_NAISSANCE,
INDIVIDU.DATE_DECES,
INDIVIDU.COMMENT as INFO_NOTES
FROM INDIVIDU
WHERE INDIVIDU.KLE_DOSSIER = 1
and INDIVIDU.COMMENT containing 'Taille'
par défaut le dossier est 1
Taille est bien sûr un exemple , il suffit de le remplacer par le mot ou la phrase à rechercher , ou de le vider en laissant les cotes pour récupérer toutes les notes
A+ Pierre |
|
Revenir en haut |
|
 |
Horemans Pro


Inscrit le: 14 Mar 2003 Messages: 333 Localisation: Aisne
|
Posté le: 15 Nov 2003 19:24 Sujet du message: |
|
|
Je me lance un peu, sans être spécialiste j'ai réalisé ce qui suit grace au site sur le cours SQL suggéré dans ce forum et avec les exemples déjà proposés.
D'autres doivent pouvoir y arriver !
Pour LISTER LES PROFESSIONS (code OCCU dans les événements individuels) :
SELECT E.EV_IND_KLE_FICHE as NIP,
E.EV_IND_DESCRIPTION as Profession,
I.NOM,
I.PRENOM
FROM EVENEMENTS_IND E,
INDIVIDU I
WHERE E.EV_IND_KLE_DOSSIER=1
and E.EV_IND_KLE_DOSSIER=I.KLE_DOSSIER
and E.EV_IND_KLE_FICHE=I.CLE_FICHE
and E.EV_IND_TYPE='OCCU'
order by E.EV_IND_DESCRIPTION
par défaut le dossier est 1
Pour d'autres listes sur les événements individuels, il suffit de le remplacer OCCU par un autre Tag Gedcom et de modifier le titre de colonne.
Quel logiciel du commerce permet des trucs pareil ! |
|
Revenir en haut |
|
 |
pthierry Pro

Inscrit le: 27 Fév 2003 Messages: 455 Localisation: Paris 13
|
Posté le: 15 Nov 2003 20:40 Sujet du message: |
|
|
Bravo Horemans , j'espère que d'autres suivront
il faut connaitre la structure des tables et la façon de les relier et pour cela il faut consulter le MCD d'Ancestrologie fait par Laurent
pour avoir la liste des individus qui ont 1 photo d'identité :
en "vieux SQL" :
SELECT DISTINCT I.CLE_FICHE as NIP, I.NOM, I.PRENOM, I.DATE_NAISSANCE, I.DATE_DECES
FROM INDIVIDU I, MEDIA_POINTEURS M
WHERE M.MP_CLE_INDIVIDU = I.CLE_FICHE
AND M.MP_IDENTITE = 1
AND I.KLE_DOSSIER = 1
ORDER BY I.NOM
la meme en SQL92
SELECT DISTINCT INDIVIDU.CLE_FICHE as NIP,
INDIVIDU.NOM,
INDIVIDU.PRENOM,
INDIVIDU.DATE_NAISSANCE,
INDIVIDU.DATE_DECES
FROM INDIVIDU
INNER JOIN MEDIA_POINTEURS ON (INDIVIDU.CLE_FICHE = MEDIA_POINTEURS.MP_CLE_INDIVIDU)
WHERE MEDIA_POINTEURS.MP_IDENTITE = 1
AND INDIVIDU.KLE_DOSSIER = 1
ORDER BY INDIVIDU.NOM
A+ Pierre |
|
Revenir en haut |
|
 |
Horemans Pro


Inscrit le: 14 Mar 2003 Messages: 333 Localisation: Aisne
|
Posté le: 16 Nov 2003 19:53 Sujet du message: |
|
|
Merci Pierre pour la gentillesse, mais c'est quoi MCD d'Ancestrologie
Pour le moement je fouille dans les tables avec le nez de Cyrano _________________ Plus çà va, plus je me régale... Philippe |
|
Revenir en haut |
|
 |
|