Auteur Sujet: [résolu] tri des dates..  (Lu 6353 fois)

plus minus reset

0 Membres et 1 Invité sur ce sujet

Hors ligne Tophe3860

  • AncestroSenior
  • *****
  • Messages: 1 187
[résolu] tri des dates..
« le: 27 Février 2006 à 20:45:37 »
J'utilise le générateur de requête du BOA pour établir mes listes de recherches d'actes.

L'export Excel est extrèmement pratique, mais avec une limite, à mon sens pour une fonction de tri sur les dates...

Mais, peut-ête, passe-je à côté de quelques choses avec mes "vieilles" requêtes... :cry:



Le problème... :oops:

La date que je mets dans un champ date (token, jour, mois, année) est exportée dans le tableur dans une cellule unique.

Je ne peux pas faire de tri successif année, mois, jours...




La question...

Comment faire pour avoir "automatiquement" ces éléments dans 4 cases différentes?
 :roll:



Pour l'instant, "ma" solution sous excel est la fonction "convertir".

Elle se base sur l'utilisation d'une sorte de ligne verticale qui découpe une série de cellules sur une colonne.

Pratique pour une série de date formée par "token année", soit par exemple "vers 1780"

Mais, plus délicat pour une date formée par "jour mois année"... puisque le nombre de caractères du mois est variable (mai, novembre...) : il n'y a plus de ligne verticale pour séparer les éléments de la date... mais une ondulation...




Ceci dit, je ne peux m'empêcher de déborder en imginant une solution "à la base du problème"... Hum, je me lance...

Chaque champ date d'Ancestrologie pourrait être partagé en quatre éléments, selon le modèle des modules "calcul des dates" et "calendrier universel"

Actuellement : 1 unique champ DATE, avec au passage des difficultés classement... domicile, etc...

Suggestion : 4 champs avec passage de l'un à l'autre par la touche TAB :

* 1 champ "token"

* 1 champ "jour"

* 1 champ "mois", avec possibilité d'entrée chiffre ou lettre

* 1 champ "année"




Mais bon, c'est une suggestion qui dépasse ma question BOA - générateur de SQL...  :lol:  :roll:
Christophe Pensez [résolu] et trucs & astuces : un ancestrologie pour tous, tous pour un ancestrologie!
 

Hors ligne Lau

  • Modérateur
  • AncestroSenior
  • *****
  • Messages: 1 651
    • http://laro.chez-alice.fr
[résolu] tri des dates..
« Réponse #1 le: 28 Février 2006 à 13:54:05 »
Je ne me souviens plus de la commande sql pour firebird et je n'ai pas le boa sous les yeux, mais essaie une commande du genre MONTH(ladate), YEAR(ladate), DAY(ladate)...



Sinon, essaie ce qui est écrit ici : http://www.volny.cz/iprenosil/interbase/ip_ib_code_timestamp.htm
 

Hors ligne Tophe3860

  • AncestroSenior
  • *****
  • Messages: 1 187
[résolu] tri des dates..
« Réponse #2 le: 31 Mars 2006 à 11:34:31 »
:oops:  :?  :roll:



Je rame...

Je n'arrive pas à utiliser ce que tu m'as indiqué pour transformer une des procédures que j'utilise...

Liste des actes de naissance à trouver triés par ville et par date

SELECT I.CLE_FICHE AS NIP, I.NOM, I.PRENOM, R.REF_EVE_LIB_LONG AS EVENEMENT, E.EV_IND_DATE_WRITEN AS DATE_EVENEMENT, E.EV_IND_VILLE AS VILLE

FROM INDIVIDU I, EVENEMENTS_IND E, REF_EVENEMENTS R

WHERE I.KLE_DOSSIER = 1

AND E.EV_IND_KLE_FICHE = I.CLE_FICHE

AND E.EV_IND_TYPE = 'BIRT'

AND (E.EV_IND_ACTE = 0 OR E.EV_IND_ACTE IS NULL)

AND R.REF_EVE_LIB_COURT = E.EV_IND_TYPE

ORDER BY E.EV_IND_VILLE, E.EV_IND_DATE, I.NOM, I.PRENOM, I.CLE_FICHE





Y-a-t-il des rameurs plus doués que ma pomme?  :roll:  :wink:
Christophe Pensez [résolu] et trucs & astuces : un ancestrologie pour tous, tous pour un ancestrologie!
 

Hors ligne DDdeBerdeux

  • AncestroGrandMaitre
  • *******
  • Messages: 3 244
  • Remercié: 2 fois !
[résolu] tri des dates..
« Réponse #3 le: 31 Mars 2006 à 13:02:32 »
Bonjour,

Il faut utiliser EXTRACT pour extraire le jour le mois et l'année de la date:
:
SELECT I.CLE_FICHE AS NIP

  ,I.NOM

  ,I.PRENOM

  ,R.REF_EVE_LIB_LONG AS EVENEMENT

  ,E.EV_IND_DATE_WRITEN AS DATE_EVENEMENT

  ,EXTRACT (DAY FROM E.EV_IND_DATE) AS JOUR

  ,EXTRACT (MONTH FROM E.EV_IND_DATE) AS MOIS

  ,EXTRACT (YEAR FROM E.EV_IND_DATE) AS ANNEE

  , E.EV_IND_VILLE AS VILLE

FROM INDIVIDU I, EVENEMENTS_IND E, REF_EVENEMENTS R

WHERE I.KLE_DOSSIER = 1

AND E.EV_IND_KLE_FICHE = I.CLE_FICHE

AND E.EV_IND_TYPE = 'BIRT'

AND (E.EV_IND_ACTE = 0 OR E.EV_IND_ACTE IS NULL)

AND R.REF_EVE_LIB_COURT = E.EV_IND_TYPE

ORDER BY E.EV_IND_VILLE, E.EV_IND_DATE, I.NOM, I.PRENOM, I.CLE_FICHE
A+

André
Une application pleinement satisfaisante est toujours complétée par une mise à jour buggée. (Loi des Mises à Jour)
 

Hors ligne DDdeBerdeux

  • AncestroGrandMaitre
  • *******
  • Messages: 3 244
  • Remercié: 2 fois !
[résolu] tri des dates..
« Réponse #4 le: 31 Mars 2006 à 13:46:53 »
PS: à la place de

,EXTRACT (YEAR FROM E.EV_IND_DATE) AS ANNEE

que j'ai mis pour montrer comment extraire l'année d'une date, dans ce cas particulier il est préférable d'afficher le champ E.EV_IND_DATE_YEAR où une année peut avoir été extraite du champ E.EV_IND_DATE_WRITEN, même si celui-ci est du type "vers décembre 1900", non transformable en date.

A+

André
Une application pleinement satisfaisante est toujours complétée par une mise à jour buggée. (Loi des Mises à Jour)
 

Hors ligne Tophe3860

  • AncestroSenior
  • *****
  • Messages: 1 187
[résolu] tri des dates..
« Réponse #5 le: 02 Avril 2006 à 22:50:00 »
Le SQL, c'est un peu comme l'anglais...

Quand je le lis, je comprends plus ou moins, mais si j'essaie de le parler...  :lol:



En tout cas, cela marche impéccablement : Merci! :wink:

Il ne me reste plus qu'à appliquer à mes autres requêtes habituelles...  :D

Enfin, j'va essayer...  :roll:  :wink:
Christophe Pensez [résolu] et trucs & astuces : un ancestrologie pour tous, tous pour un ancestrologie!
 

Hors ligne Tophe3860

  • AncestroSenior
  • *****
  • Messages: 1 187
[résolu] tri des dates..
« Réponse #6 le: 03 Avril 2006 à 10:03:59 »
Et bien c'est fait : ça roule... enfin presque...



Pour la forme, je n'arrive pas à créer une colonne "evenement" pour inscrire "union" ou "mariage"...

Je n'ai réussi qu'à obtenir des ERRORS, que je ne sais interpréter...  :oops:  :oops:

Very bête cette ligne en plus, je suis sûr... non...



Voici les 3 requêtes qui fonctionnent, néanmoins :

 :arrow: liste des actes de naissances à trouver: nip / sosa / nom / prénom / evenement / date / jour / mois / année / ville
SELECT

  I.CLE_FICHE AS NIP,

  I.NUM_SOSA AS SOSA,

  I.NOM,

  I.PRENOM,

  R.REF_EVE_LIB_LONG AS EVENEMENT,

  E.EV_IND_DATE_WRITEN AS DATE_EVENEMENT,

  EXTRACT(DAY FROM E.EV_IND_DATE) AS JOUR,

  EXTRACT(MONTH FROM E.EV_IND_DATE) AS MOIS,

  E.EV_IND_DATE_YEAR,

  E.EV_IND_VILLE AS VILLE

FROM

  INDIVIDU I,

  REF_EVENEMENTS R,

  EVENEMENTS_IND E

WHERE

  (I.KLE_DOSSIER = 1) AND

  (E.EV_IND_KLE_FICHE = I.CLE_FICHE) AND

  (E.EV_IND_TYPE = 'BIRT') AND

  ((E.EV_IND_ACTE = 0) OR

  (E.EV_IND_ACTE IS NULL)) AND

  (R.REF_EVE_LIB_COURT = E.EV_IND_TYPE)

ORDER BY

  E.EV_IND_VILLE,

  E.EV_IND_DATE,

  I.NOM,

  I.PRENOM,

  I.CLE_FICHE



 :arrow: liste des actes de décès à trouver : nip / sosa / nom / prénom / événement / date / jour / mois / année / ville
SELECT

  I.CLE_FICHE AS NIP,

  I.NUM_SOSA AS SOSA,

  I.NOM,

  I.PRENOM,

  R.REF_EVE_LIB_LONG AS EVENEMENT,

  E.EV_IND_DATE_WRITEN AS DATE_EVENEMENT,

  EXTRACT(DAY FROM E.EV_IND_DATE) AS JOUR,

  EXTRACT(MONTH FROM E.EV_IND_DATE) AS MOIS,

  E.EV_IND_DATE_YEAR,

  E.EV_IND_VILLE AS VILLE

FROM

  INDIVIDU I,

  REF_EVENEMENTS R,

  EVENEMENTS_IND E

WHERE

  (I.KLE_DOSSIER = 1) AND

  (E.EV_IND_KLE_FICHE = I.CLE_FICHE) AND

  (E.EV_IND_TYPE = 'DEAT') AND

  ((E.EV_IND_ACTE = 0) OR

  (E.EV_IND_ACTE IS NULL)) AND

  (R.REF_EVE_LIB_COURT = E.EV_IND_TYPE)

ORDER BY

  E.EV_IND_VILLE,

  E.EV_IND_DATE,

  I.NOM,

  I.PRENOM,

  I.CLE_FICHE


 :arrow: liste des actes de mariage à trouver : nip / sosa / nom / prénom / evenement...? / date / jour / mois / année / ville / nom du conjoint / prénom du conjoint / nip du conjoint / sosa du conjoint
SELECT

  I.CLE_FICHE AS NIP,

  I.NUM_SOSA AS SOSA,

  I.NOM,

  I.PRENOM,

  E.EV_FAM_DATE_WRITEN AS DATES,

  EXTRACT(DAY FROM E.EV_FAM_DATE) AS JOUR,

  EXTRACT(MONTH FROM E.EV_FAM_DATE) AS MOIS,

  E.EV_FAM_DATE_YEAR,

  E.EV_FAM_VILLE AS LIEU,

  I1.NOM AS NOM_CJT,

  I1.PRENOM AS PRENOM_CJT,

  I1.CLE_FICHE AS NIP,

  I1.NUM_SOSA AS SOSA

FROM

  INDIVIDU I,

  INDIVIDU I1,

  EVENEMENTS_FAM E,

  T_UNION T

WHERE

  (T.KLE_DOSSIER = 1) AND

  (I.CLE_FICHE = T.UNION_MARI) AND

  (I.KLE_DOSSIER = T.KLE_DOSSIER) AND

  (I1.CLE_FICHE = T.UNION_FEMME) AND

  (I1.KLE_DOSSIER = T.KLE_DOSSIER) AND

  (E.EV_FAM_KLE_FAMILLE = T.UNION_CLEF) AND

  (E.EV_FAM_TYPE = 'MARR') AND

  ((E.EV_FAM_ACTE = 0) OR

  (E.EV_FAM_ACTE IS NULL))

ORDER BY

  E.EV_FAM_VILLE,

  E.EV_FAM_DATE,

  I.NOM,

  I.PRENOM,

  I1.NOM,

  I1.PRENOM
Christophe Pensez [résolu] et trucs & astuces : un ancestrologie pour tous, tous pour un ancestrologie!
 

Hors ligne Facon

  • AncestroGrandMaitre
  • *******
  • Messages: 3 448
  • Remercié: 1 fois !
[résolu] tri des dates..
« Réponse #7 le: 03 Avril 2006 à 10:22:56 »
Bonjour,



Pour ma part j'utilise la requète suivante Made by ..... André. Un export vers Excel permet plein de chose: d'éclater la liste par type d'événement, de trier, d'utiliser le filtre automatique, etc...

Avant utilisation il faut indiquer le bon numéro de dossier ainsi que le département.

Attention, les actes existants sont notés 1, les absents par un vide. Selon la version utilisée au moment de l'enregistrement des données, des événements pour lesquels les actes ne sont pas disponibles sont marqués 0. Il suffit de les éliminer pour uniformiser le tout.



SELECT DISTINCT

I.NUM_SOSA AS SOSA

, I.NOM

, I.PRENOM

, N.EV_IND_DATE_WRITEN AS DATE_NAISSANCE

, EXTRACT (DAY FROM N.EV_IND_DATE) AS JJ

, EXTRACT (MONTH FROM N.EV_IND_DATE) AS MM

, EXTRACT (YEAR FROM N.EV_IND_DATE) AS AA

, N.EV_IND_DATE_YEAR AS AN_NAISSANCE

, N.EV_IND_VILLE AS VILLE_NAISSANCE

, N.EV_IND_DEPT AS DEPT_NAISSANCE

, N.EV_IND_ACTE AS ACTE_NAISSANCE

, D.EV_IND_DATE_WRITEN AS DATE_DECES

, EXTRACT (DAY FROM D.EV_IND_DATE) AS JJ

, EXTRACT (MONTH FROM D.EV_IND_DATE) AS MM

, EXTRACT (YEAR FROM D.EV_IND_DATE) AS AA

, D.EV_IND_DATE_YEAR AS AN_DECES

, D.EV_IND_VILLE AS VILLE_DECES

, D.EV_IND_DEPT AS DEPT_DECES

, D.EV_IND_ACTE AS ACTE_DECES

, R.REF_EVE_LIB_LONG AS TYPE_UNION

, F.EV_FAM_DATE_WRITEN AS DATE_UNION

, EXTRACT (DAY FROM F.EV_FAM_DATE) AS JJ

, EXTRACT (MONTH FROM F.EV_FAM_DATE) AS MM

, EXTRACT (YEAR FROM F.EV_FAM_DATE) AS AA

, F.EV_FAM_DATE_YEAR AS AN_UNION

, F.EV_FAM_VILLE AS VILLE_UNION

, F.EV_FAM_DEPT AS DEPT_UNION

, F.EV_FAM_ACTE AS ACTE_UNION

, IC.NOM AS NOM_CONJOINT

, IC.PRENOM AS PRENOM_CONJOINT

, IC.NUM_SOSA AS SOSA_CONJOINT

FROM INDIVIDU I

LEFT OUTER JOIN EVENEMENTS_IND N ON I.CLE_FICHE = N.EV_IND_KLE_FICHE AND N.EV_IND_TYPE= 'BIRT'

LEFT OUTER JOIN EVENEMENTS_IND D ON I.CLE_FICHE = D.EV_IND_KLE_FICHE AND D.EV_IND_TYPE= 'DEAT'

LEFT OUTER JOIN T_UNION U ON I.CLE_FICHE = U.UNION_MARI OR I.CLE_FICHE = U.UNION_FEMME

LEFT OUTER JOIN INDIVIDU IC ON (U.UNION_MARI = IC.CLE_FICHE OR U.UNION_FEMME = IC.CLE_FICHE) AND IC.CLE_FICHE <> I.CLE_FICHE

LEFT OUTER JOIN EVENEMENTS_FAM F ON U.UNION_CLEF = F.EV_FAM_KLE_FAMILLE

LEFT OUTER JOIN REF_EVENEMENTS R ON F.EV_FAM_TYPE =R .REF_EVE_LIB_COURT

WHERE I.KLE_DOSSIER =2

AND ( N.EV_IND_DEPT='Nord' OR D.EV_IND_DEPT='Nord' OR F.EV_FAM_DEPT='Nord' )

ORDER BY I.NOM, I.PRENOM
Christian
 

Hors ligne DDdeBerdeux

  • AncestroGrandMaitre
  • *******
  • Messages: 3 244
  • Remercié: 2 fois !
[résolu] tri des dates..
« Réponse #8 le: 21 Juillet 2006 à 08:01:41 »
Depuis la mise à jour de la base en version 4.032, des champs ont été ajoutés aux tables des évènements individuels et familiaux pour conserver séparément les éléments des dates saisies. Les informations concernant les dates sont dans les champs:

DATE_WRITEN: le champ de saisie visible dans la fiche

DATE: date au format date quand elle est complète

DATE_YEAR: année extraite de DATE_WRITEN

DATE_MOIS: mois extrait de DATE_WRITEN

DATE_FIN

DATE_YEAR_FIN

DATE_MOIS_FIN

Les 3 champs suivants DATE_WRITEN contiennent la date "officielle" de l'évènement, celle retenue dans tous les états, et sont documentés si le format de la date saisie le permet.

Les 3 derniers champs sont documentés lorsque l'une des dates saisies dans DATE_WRITEN peut être interprétée comme une date de fin ("avant le xx/xx/xxx" ou "entre xx/xx/xxxx et xx/xx/xxxx").

Les requêtes ci-dessus peuvent donc avantageusement être modifiées pour utiliser ces champs en particulier en ne gardant la fonction EXTRACT que pour extraire le jour. La fonction EXTRACT ne fonctionne pas si la date est incomplète, alors que les champs YEAR et MOIS peuvent être documentés.

A+

André
Une application pleinement satisfaisante est toujours complétée par une mise à jour buggée. (Loi des Mises à Jour)
 

Hors ligne tourfl

  • Débutant
  • *
  • Messages: 5
  • OS:
  • Windows 10 Windows 10
  • Navigateur:
  • Firefox 45.0 Firefox 45.0
  • Programme: V2015.1996.3.2
  • Base: 5.131
  • Système: W10
[résolu] tri des dates..
« Réponse #9 le: 20 Avril 2016 à 00:15:49 »
Bonjour,

"Un export vers Excel permet plein de chose: d'éclater la liste par type d'événement, de trier, d'utiliser le filtre automatique, etc...
Avant utilisation il faut indiquer le bon numéro de dossier ainsi que le département.
Attention, les actes existants sont notés 1, les absents par un vide. Selon la version utilisée au moment de l'enregistrement des données, des événements pour lesquels les actes ne sont pas disponibles sont marqués 0. Il suffit de les éliminer pour uniformiser le tout."

Je suis novice avec Ancestrologie. Je lis progressivement les messages du forum...dont celui-ci assez lointain qui traite des SQL.
J'ai essayé la requête "tout en un" elle fonctionne superbe et génial.

Par contre je ne comprends pas comment la copier-coller dans excel?

Dans la fiche résultat la fonction sélectionner tout est inactive, je peux faire avec un clic droit un export en texte ou en HTML.

Pourriez-vous m'indiquer le mode opératoire?
 

Tags: