forum Ancestrologie
Ancestrologie - Plugins et Outils => BOA => Discussion démarrée par: Joël AUGUSTE le 03 Juin 2009 à 11:44:13
-
Bonjour,
Je viens de me rendre compte que la mise à jour de masse, correction d'un patronyme en respectant la casse ne fonctionnait pas si il y avait une apostrophe dans le nom ou dans la particule du nom.
Je n'ai pas essayé sans respecter la casse.
J'ai BOA, version 1.7 du 13 mars 2005.
Quelqu'un a-t-il constaté ce problème ?
-
c'est de l'informatique tique
l'apostrophe est un délimiteur
donc pour dire que l'on veux ce caractère il faut le doubler (une fois)
pour écrire l'apostrophe on frappe l''apostrophe et cela marche
bonne journée
-
Et bien l'informatique tique à toquer, ça n'a pas marché, et toc !
J'avais : ALBRET D'ORVAL (D') et avec BOA dans remplacer le patronyme en respectant la casse, j'ai mis : ALBRET D'ORVAL (d'')
J'ai essayé aussi : ALBRET D''ORVAL (d'')
et ça ne marche pas.
Pour un nom qui n'a pas d'apostrophe, mais dont la particule seulement possède une apostrophe, ça ne fonctionne pas non plus, par exemple remplacer ALBRET (D') par ALBRET (d') ou ALBRET (d'') ne fonctionne pas.
Je veux mettre toutes les particules de noblesse en minuscules.
Pour (de), (du)... je n'ai pas de problème sauf si il y a une apostrophe dans le nom.
-
Bonsoir
bisange voir étrare
cela fonctionne chez moi
pour le passage en minuscule des particules j'ai
/* Minuscule particule */
SELECT DISTINCT NOM from INDIVIDU where NOM Containing ' ('
Update INDIVIDU SET NOM = SUBSTR(NOM, 1, (CHAR_LENGTH(NOM)-4)) || '(de)' where (SUBSTRING (NOM, (CHAR_LENGTH(NOM)-3), (CHAR_LENGTH(NOM)))) = '(DE)'
Update INDIVIDU SET NOM = SUBSTR(NOM, 1, (CHAR_LENGTH(NOM)-4)) || '(di)' where (SUBSTRING (NOM, (CHAR_LENGTH(NOM)-3), (CHAR_LENGTH(NOM)))) = '(DI)'
Update INDIVIDU SET NOM = SUBSTR(NOM, 1, (CHAR_LENGTH(NOM)-4)) || '(of)' where (SUBSTRING (NOM, (CHAR_LENGTH(NOM)-3), (CHAR_LENGTH(NOM)))) = '(OF)'
Update INDIVIDU SET NOM = SUBSTR(NOM, 1, (CHAR_LENGTH(NOM)-5)) || '(des)' where (SUBSTRING (NOM, (CHAR_LENGTH(NOM)-4), (CHAR_LENGTH(NOM)))) = '(DES)'
Update INDIVIDU SET NOM = SUBSTR(NOM, 1, (CHAR_LENGTH(NOM)-5)) || '(von)' where (SUBSTRING (NOM, (CHAR_LENGTH(NOM)-4), (CHAR_LENGTH(NOM)))) = '(VON)'
A essayer (je ne met pas de couleur car la mise en page fou la M....)
-
Rectificatif
ALBRET D'ORVAL (D')
cela ne "marche" pas chez moi !!!!
J'avais fait il y a quelques temps et quelques versions des changement de nom avec des apostrophes et .... c'était bon
-
Bonsoir,
Merci pour ta requête, dans la 2ème tu as "di" et dans la 3ème tu as "of", ils s'agit de particules étrangères ?
Il n'y en a pas de prévu pour d', je peux en créer une ?
Excuse-moi mais je suis nul en BOA, mais je sais utiliser une requête déjà créée.
-
WOUI
avec une bonne sauvegarde on peut faire des tests
-
Bonjour,
Après sauvegarde de ma base, j'ai fait un test, voici le résultat (voir image ci-dessous).
En faisant d'autres tests, je me suis aperçu que via le BOA, je ne pouvais pas supprimer une apostrophe qui se trouve dans le corps d'un patronyme.
-
ton apostrophe il faut la mettre entre "
-
Bonjour
Bon je ne suis pas très doué pour aider
De plus ,dans mes réserves certaines requêtes date de FIREBIRD 1.x et le fait de passer en V2 des commandes sont à changer
et et Les ordres sont à passer l ‘un après l’autre dans le BOA
Le SELECT pour vérifier
Puis chaque UPDATE pour modifier , ce dernier se termine par un message d’erreur « Normal pour le BOA »
"Violation d'accès à l'adresse 031EB088 dans le module "DLL_BOA.dll". Ecriture de l'adresse 00000000"
Valider les modifications (bouton en bas)
Et revérifier avec le select
Si vous avez plusieurs dossier il faut aussi donner le dossier c’est à dire rajouter AND kle_dossier=X ou X est le N° de dossier
Les ordres que je vient de tester
SELECT DISTINCT NOM from INDIVIDU where NOM Containing ' ('
Update INDIVIDU SET NOM = SUBSTRING (NOM from 1 for (CHAR_LENGTH(NOM) -4)) || '(de)' where CHAR_LENGTH (NOM) > 5 and SUBSTRING (NOM from (CHAR_LENGTH(NOM)-3) for 4) = '(DE)'
Update INDIVIDU SET NOM = SUBSTRING (NOM from 1 for (CHAR_LENGTH(NOM) -4)) || '(di)' where CHAR_LENGTH (NOM) > 5 and SUBSTRING (NOM from (CHAR_LENGTH(NOM)-3) for 4) = '(DI)'
Update INDIVIDU SET NOM = SUBSTRING (NOM from 1 for (CHAR_LENGTH(NOM) -4)) || '(of)' where CHAR_LENGTH (NOM) > 5 and SUBSTRING (NOM from (CHAR_LENGTH(NOM)-3) for 4) = '(OF)'
Update INDIVIDU SET NOM = SUBSTRING (NOM from 1 for (CHAR_LENGTH(NOM) -5)) || '(des)' where CHAR_LENGTH (NOM) > 7 and SUBSTRING (NOM from (CHAR_LENGTH (NOM) -4) for 5) = '(DES)'
Update INDIVIDU SET NOM = SUBSTRING (NOM from 1 for (CHAR_LENGTH (NOM) -5) || '(von)' WHERE CHAR_LENGTH (NOM) > 7 and SUBSTRING (NOM from (CHAR_LENGTH (NOM) -4) for 5) = '(VON)'
SELECT DISTINCT NOM from INDIVIDU WHERE CHAR_LENGTH (NOM) > 7 and SUBSTRING (NOM from (CHAR_LENGTH (NOM)-4) for 5) = '(von)'
Bon Usage
-
Bonjour,
J'ai fait de nombreux essais avec des ' ou des ".
- en modification des noms en respectant la casse, je n'ai pas de modifications,
- en faisant la requête, j'ai toujours l'erreur cité plus haut (Dynamic SQL Error).
Quelqu'un a-t-il le même problême ?
-
bonjour
ALBRET (D') en ALBRET (d')
fonctionnent chez moi avec
Update INDIVIDU SET NOM = SUBSTRING (NOM from 1 for (CHAR_LENGTH(NOM) -4)) || '(d'')' where CHAR_LENGTH (NOM) > 5 and SUBSTRING (NOM from (CHAR_LENGTH(NOM)-3) for 4) = '(D'')'
attention le '' et bien deux fois le ' c'est pour cela que dans les longueurs (-4 et -3) il ne compte que pour une position
désolé pour mon silence ... j'étais .... ailleurs
-
Bonjour,
Et bien voilà une bonne nouvelle ! :)
Merci bien, j'ai fait l'essai et ça fonctionne !
Ne sois pas désolé pour le silence, en généalogie il faut savoir attendre et encore merci.
-
Salut à tous,
Venant d'être confronté au problème :
D'ALBIGNAC
au lieu de :
d'ALBIGNAC
et D'ALESSIO
J'ai essayé toutes les astuce (sauf modif des requettes BOA !) y compris la double ' ,ou " mais ça ne marche pas, ou alors j'ai mal compris !
PS : Bob, c'est où qu'on trouve ça :
Update INDIVIDU SET NOM = SUBSTRING (NOM from 1 for (CHAR_LENGTH(NOM) -4)) || '(d'')' where CHAR_LENGTH (NOM) > 5 and SUBSTRING (NOM from (CHAR_LENGTH(NOM)-3) for 4) = '(D'')'
J'ai aussi oublier de préciser que je n'avais eu aucun problème avec :
d'ALBERT
et d'ALLOIS
Il y a pas mal de temps et qu'ils sont toujours avec un d'
-
Bonjour
un coup de pot ... car pas beaucoup d'internet cet été
l'Update .... c'est du SQL pur sucre a passer dans le BOA et qui cri même quand cela à fonctionner (message de violation dans le module DLL_BOA.dll)
mais avec sauvegarde avant et après ... on peut faire des trucs osé sans trop de risque
il est possible d'utiliser en lieu et place du BOA IBOconsole entre autre mais ... c'est toujours du SQL
l'aide sur SQL donné par PCM dans la barre à ? est correcte
En français l’ordre veux dire
Mise à jour dans la table INDIVIDU de la colonne NOM pour être égal a la colonne NOM de la position 1 pour une longueur de la longueur de la colonne NOM moins 4 suivie de (d’) seulement pour les colonnes NOM de plus de 5 caractères et dont les 4 deniers caractères de la colonne NOM sont (D’)
Donc
ALBIGNAC (D’) devient ALBIGNAC (d’)
Pour garder la particule devant le nom il faut inverser les wagons
Update INDIVIDU SET NOM = '(d'')' || SUBSTRING (NOM from 1 for (CHAR_LENGTH(NOM) -4)) where CHAR_LENGTH (NOM) > 5 and SUBSTRING (NOM from 1 for 4) = '(D'')'
D'ALBIGNAC en d'ALBIGNAC
Mai en me relisant …. Je ne suis pas sur d’etre aussi clair (et sans ti punch)
Bon usage quand même
-
Merci Bob....,
J'ai a peu près compris, mais je n'irais pas "tripoter" le SQL. dans le BOA, ,je ne vais que pour des modif de masse de patro.
Par contre pourquoi j'ai :
d'ALBERT et d'ALLOIS
et je ne peut avoir :
D'ALESSIO et D'ALBIGNAC, avec le d' minuscule, alors que j'ai fait la même manipe dans les 2 cas
Voir là :
http://www.cijoint.fr/cjlink.php?file=cj200908/cijDnhmdg3.jpg (http://www.cijoint.fr/cjlink.php?file=cj200908/cijDnhmdg3.jpg)
-
bonsoir
par défaut et il y quelques versions Ancestrolgie forçait en majuscule les noms (préférences)
pour forcer un bout de nom en minuscule je ne sauvegardais pas, je passais par le repertoire et le message me demandant si je voulais la sauvegarde me gardait mon choix
Depuis certaines particules ne passent pas automatiquement en majuscule MAIS ....
Et ma manipe de passage par le repertoire risque de ne plus marcher car depuis de ou trois versions Ancestrologie "paume" les modifs faites dans les fiches dans certaines mises à jours ALORS (merci PCM de voir y aussi d'autre postes pour ce probleme)
Il va faloir quand même se frotter au BAO avec une petite copie de la base avant au cas ou ...
bonsoir
-
Bonsoir,
Pour pouvoir enregistrer tel que tu as écrit, il faut être en fenêtres incrustées. Ainsi, si tu passe de la fiche au répertoire par exemple, tu auras la question si tu souhaites enregistrer et l'enregistrement sera celui que tu as écrit (pas de majuscules automatiques pour les noms par exemple).
-
Vous oubliez tout de même qu'Ancestro a une assistance à la saisie des particules
Pour ce cas il faut rajouter d' dans les particules, menu configuration/particules...
Dans ce cas les d' resteront d' même si les noms sont convertis en majuscules (suivant les préférences de saisie dans Configuration/Préférences Générales/Options de saisie)
-
Salut Bruno,
Ce serait bien si tu allais jusqu'au bout de la manipe !...
Moi quand je clique sur "particule" j'ai
une fenetre vide avec + et -
quand je clique sur +
je peut ecrire -d'-
mais après j'ai le choix :
importer ou exporter !!!
sur l'un comme sur l'autre je ne comprends rien, une fois ouverts, et donc plutot que de faire une betise, je m'abstient.
et je fait quoi !...
-
tu t'arrêtes à d' et tu fermes, ça suffit.
sinon: exporter permet de générer un fichier texte pour sauvegarder sa liste de particules, ou la donner à un autre utilisateur, importer permet de restituer depuis un fichier texte, j'avais jamais creuser de ce coté :oops:
-
Salut Bruno,
C'est effectivement, ce que je faisait, puis quand j'allais sur la ficheremplacer le D' par d' et que je cliquais sur : enregistrer il m'affichait en rouge :
lock conflict on no wait transaction deadlock
Donc je fermais en utilisant la x aujourd'hui j'ai fermé en cliquant sur OK et effectivement le d' s'enregistre !.
-
J'ai aussi eu ce lock conlict avec la meme manip, remplacer un D' par un d', on a donc quand même un bug qui traine par la.....