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: 21 Oct 2004 06:27 Sujet du message: Lister les événements"divers" |
|
|
suite aux problèmes évoqués dans le forum rapport d'anomalies (champ trop petit)
select i.cle_fiche as NIP, i.nom , i.prenom, i.date_naissance,e.ev_ind_type,
e.ev_ind_titre_event, e.ev_ind_description
from individu i , evenements_ind e
where i.cle_fiche = e.ev_ind_kle_fiche
and e.ev_ind_type ='EVEN'
and e.ev_ind_description is not null
and e.ev_ind_titre_event <>''
and i.kle_dossier =1
order by i.cle_fiche
à copier dans la partie SQL du BOA en changeant éventuellemnt le N° de dossier _________________ N'oubliez pas la fonction Rechercher...
Cordialement Pierre |
|
Revenir en haut |
|
|
pthierry Pro
Inscrit le: 27 Fév 2003 Messages: 455 Localisation: Paris 13
|
Posté le: 21 Oct 2004 07:06 Sujet du message: |
|
|
maitenant si vous voulez modifier ces événements
avec les précautions d'usage
export gedcom , sauvegarde de la base avant de se jeter à l'eau
update evenements_ind
set EV_IND_DESCRIPTION = 'description'
where EV_IND_KLE_FICHE = 1
and ev_ind_type ='EVEN'
and EV_IND_TITRE_EVENT = 'c''est ma première surpris'
and EV_IND_KLE_DOSSIER = 1
dans set EV_IND_DESCRIPTION = 'description'
remplacer description par le texte que vous voulez voir apparaitre (max 60 car)
dans where EV_IND_KLE_FICHE = 1
remplacer le 1 par le NIP de votre individu (que vous aurez noter avec la requete precedente)
dans and EV_IND_TITRE_EVENT = 'c''est ma première surpris'
remplacer 'c''est ma première surpris' par le titre de votre événement (attention il doit être strictement identique a ce que vous avez dans la base sauf s'il comporte une cote ' vous devez en ajouter une autre
cliquer sur executer procédure puis valider les modifications _________________ N'oubliez pas la fonction Rechercher...
Cordialement Pierre |
|
Revenir en haut |
|
|
feiv5354 Spécialiste
Inscrit le: 10 Déc 2003 Messages: 39 Localisation: Paris 18
|
Posté le: 21 Oct 2004 21:56 Sujet du message: Evènements divers |
|
|
Merci, ca marche nickel.
J'ai simplement mis
and EV_IND_clef = 535
à la place de
and EV_IND_TITRE_EVENT = 'c''est ma première surpris'
puisque dans la requete à effectuer avant j'ai noté toutes les Ev_IND_CLEF concernée par un divers. |
|
Revenir en haut |
|
|
Lya Pro
Inscrit le: 30 Juil 2003 Messages: 945 Localisation: Seine-et-Marne (77)
|
Posté le: 22 Oct 2004 00:02 Sujet du message: |
|
|
Pierre, MERCI pour ces routines
Ça marche très bien ! Comme je n'avais plus d'enregistrements problématiques dans mes dossiers, je les ai utilisées pour en créer et immédiatement le Size mismatch est apparu...
J'ai donc refait la manip dans l'autre sens, et tout est rentré dans l'ordre
Par contre, il m'a fallu changer EV_IND_TITRE_EVENT = 'c''est ma première surpris' en EV_IND_DESCRIPTION = 'c''est ma première surpris' dans la procédure. _________________
Un bon voyageur n'a pas d'itinéraire fixe, et n'a pas l'intention d'arriver... |
|
Revenir en haut |
|
|
pthierry Pro
Inscrit le: 27 Fév 2003 Messages: 455 Localisation: Paris 13
|
Posté le: 22 Oct 2004 09:51 Sujet du message: Re: Evènements divers |
|
|
feiv5354 a écrit: |
J'ai simplement mis
and EV_IND_clef = 535
à la place de
and EV_IND_TITRE_EVENT = 'c''est ma première surpris'
puisque dans la requete à effectuer avant j'ai noté toutes les Ev_IND_CLEF concernée par un divers. |
Oui et c'est la manière la plus normale puisque cette cle unique identifie l'événement
mais je profite de ces requetes pour montrer les possibilités du sql
une astuce que je conseille souvent avant de faire un update (modif d'une table à faire avec précaution)
faire un select (qui lui ne touche pas à la base) avec les données qui se trouvent dans le where de l'update comme ça on voit l'enregistrement à modifier
avec l'exemple ci-dessus :
select *
from evenements_ind
where EV_IND_KLE_FICHE = 1
and ev_ind_type ='EVEN'
and EV_IND_TITRE_EVENT = 'c''est ma première surpris'
and EV_IND_KLE_DOSSIER = 1
Il faut profiter du sql car Ancestro est le seul logiciel qui permette un accès à la base de données dans de telles conditions _________________ N'oubliez pas la fonction Rechercher...
Cordialement Pierre |
|
Revenir en haut |
|
|
macpc Pro
Inscrit le: 22 Juil 2003 Messages: 335 Localisation: Limousin, Haute-Vienne
|
Posté le: 24 Oct 2004 10:24 Sujet du message: Re: Lister les événements"divers" |
|
|
Je voudrais ça:
where i.cle_fiche = e.ev_ind_kle_fiche
and LENGTH(e.ev_ind_description) > 60 and i.kle_dossier =1
mais ça plante sur le length (token inconnu), si je mets car_length ca me dit fonction inconnu
une idée ou mieux la soluce ? _________________ A+ Bruno
_________________________________________________
L'expérience ne se trompe jamais, ce sont nos jugements qui se trompent. (LdV) |
|
Revenir en haut |
|
|
macpc Pro
Inscrit le: 22 Juil 2003 Messages: 335 Localisation: Limousin, Haute-Vienne
|
Posté le: 26 Oct 2004 22:24 Sujet du message: |
|
|
Un grand merci à Marc et à Philippe pour 'STRLEN'
Donc pour visualiser et relever les infos de tous les individus qui ont des descriptions d'évènements de plus de 60 caractères avant d'effectuer un éventuel export/import GED qui va les tronquer:
select i.cle_fiche as NIP, i.nom , i.prenom, i.date_naissance,e.ev_ind_type,
e.ev_ind_titre_event, e.ev_ind_description
from individu i , evenements_ind e
where i.cle_fiche = e.ev_ind_kle_fiche
and strlen(e.ev_ind_description) > 60 and i.kle_dossier = X
order by i.cle_fiche
en remplaçant X par le numero du dossier à voir _________________ A+ Bruno
_________________________________________________
L'expérience ne se trompe jamais, ce sont nos jugements qui se trompent. (LdV) |
|
Revenir en haut |
|
|
baptiste.ordonaud Super-amateur
Inscrit le: 12 Nov 2003 Messages: 29 Localisation: laval
|
Posté le: 29 Nov 2004 23:34 Sujet du message: rien comprendre moi!!!! |
|
|
bonjour a tous, je voudrais faire ma modif sql pour pouvoir supprimer mon message "SIZE MISMATCH-Field EV_IND_DESCRIPTION size is too small for data" mais moi pas comprendre language technique sql pouvez-vous m'expliquer la procedure comme si je suis un débutant... car je ne travaille jamais avec BOA et pourtant j'essaie de m'instruire.... merci d'avance (point par point si possible merci!!!)
baptiste |
|
Revenir en haut |
|
|
macpc Pro
Inscrit le: 22 Juil 2003 Messages: 335 Localisation: Limousin, Haute-Vienne
|
Posté le: 01 Déc 2004 01:24 Sujet du message: |
|
|
Bonsoir Baptiste,
je te propose de consulter ce document au format PDF qui je l'espère est assez clair et répond à ton pb
Bon courage _________________ A+ Bruno
_________________________________________________
L'expérience ne se trompe jamais, ce sont nos jugements qui se trompent. (LdV) |
|
Revenir en haut |
|
|
Claude Baudin Pro
Inscrit le: 03 Avr 2004 Messages: 479 Localisation: Marquise (62)
|
Posté le: 01 Déc 2004 08:42 Sujet du message: |
|
|
macpc a écrit: | Bonsoir Baptiste,
je te propose de consulter ce document au format PDF qui je l'espère est assez clair et répond à ton pb
Bon courage |
Eh! pas mal fait du tout ce PDF, si tout le SQL pouvait être éxpliqué ainsi il n'y aurait pas de problème
Donc pourquoi ne pas rassembler l'intégralité des pages dans un dossier sur le post SQL _________________ Claude |
|
Revenir en haut |
|
|
baptiste.ordonaud Super-amateur
Inscrit le: 12 Nov 2003 Messages: 29 Localisation: laval
|
Posté le: 07 Déc 2004 23:25 Sujet du message: sql |
|
|
un grand merci pour l'aide!!!!
sympas la formule "débutant"
a+
baptiste ordonaud
ps: formule a retenir!!! |
|
Revenir en haut |
|
|
Lya Pro
Inscrit le: 30 Juil 2003 Messages: 945 Localisation: Seine-et-Marne (77)
|
Posté le: 22 Jan 2005 22:57 Sujet du message: |
|
|
Je voudrais essayer de mettre automatiquement le "surplus" du champ Description dans les notes avant de le couper à 60 caractères...
J'ai essayé ça, mais ça bloque ! Où est mon erreur ?
update EVENEMENTS_IND
set EV_IND_COMMENT = concat (EV_IND_COMMENT , ' ', substr (EV_IND_DESCRIPTION, 60))
where strlen (EV_IND_DESCRIPTION) > 60 _________________
Un bon voyageur n'a pas d'itinéraire fixe, et n'a pas l'intention d'arriver... |
|
Revenir en haut |
|
|
macpc Pro
Inscrit le: 22 Juil 2003 Messages: 335 Localisation: Limousin, Haute-Vienne
|
Posté le: 22 Jan 2005 23:22 Sujet du message: |
|
|
Bonsoir Amandine
Ton truc m'interesse! j'avais commencé à rechercher, et là je viens de trouver çà Citation: | Il n'est pas possible d'assigner une valeur à un blob directement par une commande SQL.
par exemple. INSERT INTO tab(MyBlob)VALUES('abc'); (mais il est possible d'utiliser une UDF pour convertir une chaîne de caractères en un blob). | et aussi Citation: | Il n'y a aucune fonction intégrée de conversion (CAST) pour convertir de BLOB à VARCHAR et réciproquement.
Mais il est possible d'écrire une UDF à cette fin. | sur cette page
je continue à creuser Qu'est-ce que c'est que ces UDF _________________ A+ Bruno
_________________________________________________
L'expérience ne se trompe jamais, ce sont nos jugements qui se trompent. (LdV) |
|
Revenir en haut |
|
|
Gvx Spécialiste
Inscrit le: 27 Déc 2004 Messages: 32 Localisation: Moselle (57)
|
|
Revenir en haut |
|
|
macpc Pro
Inscrit le: 22 Juil 2003 Messages: 335 Localisation: Limousin, Haute-Vienne
|
Posté le: 23 Jan 2005 11:07 Sujet du message: |
|
|
bon, j'ai des pistes, mais je ne promets rien, je pense que des plus qualifiés en sql pourrait proposer un solution, si toutefois il y en a une
D'ailleurs je me demande s'il ne faudrait pas plutôt un genre de patch.exe, car:
apparemment avec les blob, il faut vérifier s'il reste assez de place, en extraire les infos existantes, faire la concaténation, et recharger dans le blob, et s'il n'ya pas assez de place ?? peut-être générer un fichier.log ...
merci de l'aide, car ça commence à être coton pour moi _________________ A+ Bruno
_________________________________________________
L'expérience ne se trompe jamais, ce sont nos jugements qui se trompent. (LdV) |
|
Revenir en haut |
|
|
|