forum Ancestrologie

Ancestrologie - Développement => Développement => Discussion démarrée par: Ludo le 21 Janvier 2004 à 10:55:20

Titre: Rajouter un "pipeline"
Posté par: Ludo le 21 Janvier 2004 à 10:55:20
Bonjour,



Je souhaiterais rajouter un "pipeline" cf tutorial de modification d'un report.

Ceci afin d'inclure le lieu et la date du mariage pour un individu.

Je suis pas loin d'avoir termine la requete dans le boa mais comment faire pour l'inclure dans un report? etat?.



Merci pour votre aide



Ludo
Titre: Rajouter un "pipeline"
Posté par: Ludo le 22 Janvier 2004 à 14:24:22
En fait pour mieux vous decrire mon probleme

Je souhaite inclure dans le report complet (Celui qui liste toutes les individus de ma genealogie) la date et le lieu de marriage.



Apres avoir tripatouye dans le tutorial je me suis apercu que l'on ne pouvait se servir que d'une seule vue (pipeline).

Il faut donc que je rajoute ma vue a la BD pour que je puisse l'utiliser dans un report.



Je suis assez etonne que personne ne m'ai repondu  :shock:



Ludo
Titre: Rajouter un "pipeline"
Posté par: AquaBlue le 22 Janvier 2004 à 14:35:06
Citation de: "Ludo"
Je suis assez etonne que personne ne m'ai repondu  :shock:
Ce n'est pas étonnant car, en dehors de Claude et de Philippe, personne n'a jamais mis son nez dans les pipelines  :!:



Normalement Claude a ajouté les dates et lieux de mariage dans le pipeline de "descendance" (à moins que ce ne soit "ascendance"  :?: ) ce qui devrot te permettre de réaliser ce que tu souhaites.

C'est d'ailleurs à la suite de cet ajout que certains se sont plaints que les personnes ayant plusieurs mariage, apparaissent pluisieurs fois. (Fais une recherche sur les fora)
Titre: Rajouter un "pipeline"
Posté par: Ludo le 22 Janvier 2004 à 14:45:01
Merci pour ta reponse Aquablue



Il me semble que ca ne fait pas ce que je veux.

En fait je veux juste rajouter le lieu et la date du mariage pour faciliter les recherches dans les AD.

J'ai tout sous les yeux en une seule ligne.



Ludo
Titre: Rajouter un "pipeline"
Posté par: crolain le 22 Janvier 2004 à 14:47:12
Citation de: "AquaBlue"
Normalement Claude a ajouté les dates et lieux de mariage dans le pipeline de "descendance" (à moins que ce ne soit "ascendance"  :?: ) ce qui devrait te permettre de réaliser ce que tu souhaites.



Cela a été supprimé suite aux plaintes et je ne suis pas prêt à retenter l'exercice ( je suis d'ailleurs en voie de guérison de l'effet du virus Ancestrologie   :lol: ).



Cordialement,



Claude
Titre: Rajouter un "pipeline"
Posté par: Ludo le 22 Janvier 2004 à 14:51:32
Claude peux tu me dire comment ajouter une vue ou m'indiquer un site avec un tutorial



Ludo
Titre: Rajouter un "pipeline"
Posté par: crolain le 23 Janvier 2004 à 13:39:11
Le pipe-line ne peut se créer qu'à l'intérieur de la source Delph7.

Il faut donc posséder tous les outils(Delphi et composants) nécessaires pour compiler les sources et ensuite bien lire le manuel de ReportBuilder qui est assez conséquent.

Cela signifie énormément de travail personnel et beaucoup d'essais et erreurs.



Cordialement,



Claude
Titre: Rajouter un "pipeline"
Posté par: Ludo le 23 Janvier 2004 à 13:52:57
Merci pour ta reponse!



Ok donc c est pas la peine que je continue je n'ai pas tous les composants DELPHI.





Dommage :cry:



Ludo
Titre: pipeline
Posté par: feiv5354 le 20 Juillet 2005 à 16:34:47
Bonjour,



J'ai un peu de mal à comprendre cette notion de pipe line.



Je souhaite modifier le rapport "Fiche individuelle" en rajoutant un sous rapport "domiciles successifs".



Je m'attendais un peu comme sous Acces à avoir à ma disposition l'ensemble des champs de la BDD et d'insérer ceux qui m'intéressent dans mon sous rapport. Fatale erreur ! Il y a ce satané pipeline.



Si j'ai bien compris, il n'y a que PCM qui puisse mettre les infos de domicile à disposition de Report Builder ?
Titre: pipeline
Posté par: DDdeBerdeux le 20 Juillet 2005 à 19:42:15
Citation de: "feiv5354"
Je m'attendais un peu comme sous Acces à avoir à ma disposition l'ensemble des champs de la BDD et d'insérer ceux qui m'intéressent dans mon sous rapport.


Pour vous dépanner ou faire un état n'existant pas dans Ancestrologie, il est tout à fait possible de le générer depuis access si vous le connaissez suffisamment.

Je ne connais pas très bien Access, (beaucoup mieux paradox avec lequel j'utilise des bases de données Firebird), mais si je me souviens bien il suffit de déclarer la base firebird comme une base externe.

Il faut pour celà installer la version serveur de Firebird ainsi que le pilote ODBC, et créer une source de données pointant vers la base.

A+

André
Titre: Rajouter un "pipeline"
Posté par: AquaBlue le 21 Juillet 2005 à 11:17:09
Pas si simple car les pilotes ODBC libres ne savent pas gérer les BLOB (sauf évolution récente)



Pour Francis si tu veux j'ai un programme qui transforme un gedcom en base Access. Il importe pratiquement tous les gedcom (Hérésie, Généatique, Ancestrologie.....) sans pertes.

Il n'est pas très gros si tu as Office déjà installé sur ta machine.

Par contre il n'est pas documenté (pas d'aide)

Si ça t'intéresse passe moi ton afresse mail en message perso.
Titre: Rajouter un "pipeline"
Posté par: Batard Olivier le 21 Juillet 2005 à 11:26:00
Citation de: "AquaBlue"
si tu veux j'ai un programme qui transforme un gedcom en base Access




Bonjour.

Je suis intéressé par ton prog. Pourquoi ne pas le mettre en téléchargement sur ton site, Access étant utilisé par beaucoup, professionnels ou non de l'info (pas de polémique sur Access SVP) :wink:  :wink:
Titre: Rajouter un "pipeline"
Posté par: Batard Olivier le 21 Juillet 2005 à 11:40:20
Sinon, pour faire des exports "partiels", faites votre choix dans la liste des documents, puis dans le choix destination choisissez "texte" (icone bloc-note), puis lancez le traitement.



Cela vous génère un fichier texte avec le séparateur de votre choix, que vous pouvez importez dans n'importe quelle BDD.



(Le conseil du jour : comme séparateur d'enregistrement, choisissez le caractère "|" (AltGr+6), c'est l'assurance tranquilité pour un import).
Titre: Rajouter un "pipeline"
Posté par: AquaBlue le 21 Juillet 2005 à 11:53:45
Mais parce qu'il n'est pas "fini" et que je n'ai pas fait d'installateur automatique !

Il faut donc que le pack Office soit installé sur la machine pour que les dll utilisées soient bien "enregistrées".



Olivier je viens de lire ton message dans le forum libre (où je ne vais normalement jamais) et je peux te fournir un fichier des 17 000 communes portugaises avec région, longitude et latitude.

Fichier extrait de la table géographique de Legacy.
Titre: Rajouter un "pipeline"
Posté par: lepicadurien le 21 Juillet 2005 à 14:04:34
Citer
Olivier je viens de lire ton message dans le forum libre (où je ne vais normalement jamais) et je peux te fournir un fichier des 17 000 communes portugaises avec région, longitude et latitude.

Fichier extrait de la table géographique de Legacy




 :P T'aurais pas par hasard la même chose avec les lieux de la Nouvelle-Zélande, ça m'aiderais beaucoup.....
Titre: Rajouter un "pipeline"
Posté par: Batard Olivier le 21 Juillet 2005 à 14:27:21
Citation de: "AquaBlue"
je peux te fournir un fichier des 17 000 communes portugaises avec région, longitude et latitude.




En voilà une bonne nouvelle  :!:



Je t'envoie mon adresse mail par message privé (histoire d'éviter le spam).
Titre: Rajouter un "pipeline"
Posté par: DDdeBerdeux le 21 Juillet 2005 à 15:10:38
Citation de: "AquaBlue"
Pas si simple car les pilotes ODBC libres ne savent pas gérer les BLOB (sauf évolution récente)


Je viens de le vérifier en intégrant le champ INDIVIDU.COMMENT dans une requête sous OpenOffice utilisant un lien ODBC. Il n'y a pas de problème de récupération des Blob texte.

Le pilote que j'utilise est en téléchargement libre sur

http://sourceforge.net/project/showfiles.php?group_id=9028&package_id=119024

Le fichier d'installation est Firebird_ODBC_1.2.0.69-Win32.exe

La solution par ton logiciel de transformation d'un gedcom est sans doûte très bien lorsqu'il n'y a pas de possibilité d'accès direct aux données. Elle impose tout de même depuis Ancestrologie une exportation au format gedcom, puis une transformation au format access.

ODBC ne nécessite aucune manipulation pour la mise à jour des données. J'ignore si les bases de données utilisées par les autres logiciels sont directement accessibles par d'autres logiciels, mais j'ai toujours considéré comme un point fort d'Ancestrologie d'être construit sur une base de données ouverte; ce serait un peu dommage de ne pas en profiter.

Pour les "pas fanatiques" d'access (et sans vouloir polémiquer, car il existe aussi d'autres programmes, le meilleur étant celui que l'on connaît le mieux), il existe "encore" Paradox qui par BDE et sqllink a un lien natif avec les bases Interbase (et Firebird).

A+

André
Titre: Rajouter un "pipeline"
Posté par: AquaBlue le 21 Juillet 2005 à 15:12:43
Citation de: "Le Picadurien"
:P T'aurais pas par hasard la même chose avec les lieux de la Nouvelle-Zélande, ça m'aiderais beaucoup.....


Dans ta BAL mais il n'y a ni "département" ni "région"
Titre: Rajouter un "pipeline"
Posté par: Batard Olivier le 21 Juillet 2005 à 15:52:21
Citation de: "DDdeberdeux"
Pour les "pas fanatiques" d'access (et sans vouloir polémiquer, car il existe aussi d'autres programmes, le meilleur étant celui que l'on connaît le mieux), il existe "encore" Paradox qui par BDE et sqllink a un lien natif avec les bases Interbase (et Firebird).

André




Interessant, que l'on puisse avoir un lien natif vers Interbase depuis Paradox (ce qui se comprend historiquement parlant), car pour ma part, je suis toujours plus ou moins méfiant envers les liens ODBC qui restent à mes yeux un goulet d'étranglement au passage des données. Il va falloir que je me remette à Paradox, donc  :D



Sinon pour ta façon de voir les choses, entierement d'accord avec toi, c'est même une de mes phrases fétiches : le meilleur programme, c'est celui que l'on connait le mieux. :!:  :!:  :wink:
Titre: Rajouter un "pipeline"
Posté par: DDdeBerdeux le 21 Juillet 2005 à 16:28:19
Citation de: "Batard Olivier"
je suis toujours plus ou moins méfiant envers les liens ODBC qui restent à mes yeux un goulet d'étranglement au passage des données. Il va falloir que je me remette à Paradox, donc


C'est sûrement moins direct par ODBC, mais à-moins que ta base ancestrologie se mesure en Go ( ce que je ne te souhaite pas :wink: ), imperceptible.

Quand à Paradox, je regrette qu'il soit si peu ou mal maintenu depuis qu'il a été repris pas Corel. Depuis la SP2 de XP (çà fait bien un an), il y a un pb de visibilité des tables SQL ou ODBC, gênant lors de la conception (pas à l'utilisation) qu'une astuce permet de plus ou moins contourner, mais pour lequel je n'ai toujours pas trouvé de correctif.

A+

André
Titre: Rajouter un "pipeline"
Posté par: AquaBlue le 21 Juillet 2005 à 19:02:53
Pour la lecture des BLOB texte je parlais bien évidement de l'utilisation des pilotes à partir d'ACCESS. Que ça marche avec Paradox me parait logique puisque les produits sont tous les deux d'origine Borland.

Je vais tester tes pilotes sachant que mes essais datent un peu et que j'avais essayé les pilotes pour Interbase mais je crains que le résultat soit le même.



Je viens d'essayer les pilotes IBPhoenix et même punition les BLOB sont "linkés" comme OLE Object et on ne peut rien faire avec !
Titre: Rajouter un "pipeline"
Posté par: DDdeBerdeux le 21 Juillet 2005 à 23:13:40
Citation de: "AquaBlue"
Pour la lecture des BLOB texte je parlais bien évidement de l'utilisation des pilotes à partir d'ACCESS. Que ça marche avec Paradox me parait logique puisque les produits sont tous les deux d'origine Borland.



Non non, l'essai dont je parlais précédemment a été fait depuis OpenOffice, en utilisant le pilote ODBC dont j'ai donné les références,  donc pas de Borland dans le coup. Il s'agit bien d'un pilote d'origine IBPhoenix version 1.02.00.69

Depuis Paradox j'utilise le pilote Interbase fourni avec la BDE complète (celle fourni avec les SQLlinks), qui n'utilise pas ODBC dans ce cas. Bien que l'accés soit également possible par la BDE et un pilote ODBC.

Je peux également confirmer que depuis access 2003 (Fichier/Données externes/Lier les tables/Type de fichier = ODBC Databases/Source de données ancestrologie installée), on peut accéder  aux tables de la base Firebird. Les champs Blob "image", apparaissent effectivement comme des "OLE Objects", mais les champs BLOB "texte" sont lus même s'ils font plusieurs lignes.

Juste un petit conseil pour ceux qui seraient tentés par l'expérience, le pilote ODBC permet de limiter l'accès en lecture seule. C'est préférable si on ne veut pas prendre de risque avec sa base. On ne sait jamais avec Access...

A+

André

PS, j'essaie d'insérer l'image écran, champ Comment de table individu:

(https://forum.ancestrologie.org/proxy.php?request=http%3A%2F%2Fandre.langlet.free.fr%2Ffichiers%2Faccess.jpg&hash=cd3bde07611bf8b6317645f6617d78feee986358)
Titre: Rajouter un "pipeline"
Posté par: AquaBlue le 21 Juillet 2005 à 23:38:55
Essaye donc d'ouvrir la table ADRESSES_IND et de lire les champs ADR_ADRESS ou ADR_TEL qui sont bien des BLOB texte !

Relit le message de Francis qui dit :

"Je souhaite modifier le rapport "Fiche individuelle" en rajoutant un sous rapport "domiciles successifs". "



Re-édition

Je viens d'aller voir dans la base et c'est toi qui a raison.

Aussi invraissemblable que ça puisse l'être les deux champs BLOB adresse et téléphone sont en type 2.

YAKA les passer en texte ce qui ne devrait pas beaucoup géner l'appli.  :!:
Titre: Rajouter un "pipeline"
Posté par: DDdeBerdeux le 22 Juillet 2005 à 00:43:45
Tu as raison, les 2 champs dont tu parles sont reconnus comme des objets binaires, mais c'est parce qu'ils sont déclarés dans la base comme des objets binaires et non comme des textes.

Extrait du CREATE TABLE ADRESSES_IND

"ADR_ADRESSE"    BLOB SUB_TYPE BLR SEGMENT SIZE 1

alors que les notes de la table INDIVIDU

 "COMMENT"    BLOB SUB_TYPE TEXT SEGMENT SIZE 80 CHARACTER SET ISO8859_1

Et je serai curieux d'en connaître la raison, car à ma connaissance, dans ces champs il n'y a que de l'ascii. (si un développeur rôde dans le coin...)

Si un jour j'en ai la patience j'essaierai de modifier la base pour voir.

En attendant si celà ne règle pas le pb  de départ, çà peut aider pour d'autres.

A+

André

PS je viens de découvrir ta ré-édition. Ce qui me gêne dans le changement de type, c'est que c'est pas évident sur une base pleine si on ne veut pas perdre de données. Sauvegarder en gedcom ne permettant pas de transférer les multimédias, comment faire pour les récupérer?

Ensuite, il est possible que dans le logiciel il y ait un transtypage programmé. Comment réagira-t-il si on change le type? D'autant plus qu'il n'y a pas que ces 2 champs qui utilisent ce type BLR pour des notes en texte.

Mais il est vrai que çà me démange de " faire le ménage" dans la BDD. Un exemple? à quoi sert dans la table INDIVIDU le trigger AFTER UPDATE contenant: NEW.DATE_MODIF = 'NOW';?
Titre: Rajouter un "pipeline"
Posté par: DDdeBerdeux le 22 Juillet 2005 à 11:07:09
Ce matin je viens d'exécuter la requête suivante:



ALTER TABLE ADRESSES_IND

ADD "ADR_ADRESSET"    BLOB SUB_TYPE TEXT SEGMENT SIZE 80 CHARACTER SET ISO8859_1,

ADD "ADR_TELT"    BLOB SUB_TYPE TEXT SEGMENT SIZE 80 CHARACTER SET ISO8859_1,

ADD "ADR_MEMOT"    BLOB SUB_TYPE TEXT SEGMENT SIZE 80 CHARACTER SET ISO8859_1;



UPDATE ADRESSES_IND

SET ADR_ADRESSET = ADR_ADRESSE,

 ADR_TELT = ADR_TEL,

 ADR_MEMOT = ADR_MEMO;



ALTER TABLE ADRESSES_IND

DROP ADR_ADRESSE,

DROP ADR_TEL,

DROP ADR_MEMO;



ALTER TABLE ADRESSES_IND

ALTER COLUMN ADR_ADRESSET TO ADR_ADRESSE,

ALTER COLUMN ADR_ADRESSE POSITION 5,

ALTER COLUMN ADR_TELT TO ADR_TEL,

ALTER COLUMN ADR_TEL POSITION 11,

ALTER COLUMN ADR_MEMOT TO ADR_MEMO;



Attention, je ne l'ai pas faîte depuis le BOA qui ne semble pas accepter des requêtes successives (il suffirait peut-être de les faire tour à tour), mais depuis IBOconsole, après sauvegarde de ma base évidemment.

Ces requêtes permettent de changer le type des champ BLOB BLR en BLOB TEXT de la table ADRESSES_IND, sans perdre les données existantes.

Comme tu le soupçonnais Aquablue, çà ne semble faire ni chaud ni froid à Ancestrologie. Mais si quelques uns pouvaient valider...

Et si les développeurs pouvaient nous dire pourquoi ils ont choisis ce type...

La méthode a pour intérêt de rendre ces champs lisibles depuis d'autres logiciels et extractibles par requête (je viens de voir que seul le BOA arrive à rendre ces champs lisibles, et encore en remplaçant les sauts de ligne par des caractères étendus, pas le requêteur ni autres outils de requête).

A+

André
Titre: Rajouter un "pipeline"
Posté par: AquaBlue le 22 Juillet 2005 à 11:20:29
Ça va plus vite de le faire en direct à partir d'IBExpert (la version lite est libre et gratuite).



J'ai aussi fait la transformation et tout semble baigner  :!:



Il faudrait donc modifier :

Table ADRESSES_IND champs ADR_ADRESSE et ADR_TEL

Table MULTIMEDIA_RECORD champ CHANGE_NOTE

Table NOTE_RECORD champs NOTES, USER_REF et CHANGE_NOTE

Table SOURCES_RECORD champs AUTH, TITL, PUBL, TEXTE, USER_REF et CHANGE_NOTE

Table T_ASSOCIATIONS champs ASSOC_NOTES et ASSOC_SOURCES
Titre: Rajouter un "pipeline"
Posté par: DDdeBerdeux le 22 Juillet 2005 à 14:34:36
Je pense qu'il te manque:

ADR_MEMO dans ADRESSES_IND

M_MEMO dans MEMO_INFOS

et USER_REF dans MULTIMEDIA_RECORD



Je ne sais pas comment fait IBExpert pour faire la modification de type en direct, parce que lorsque je veux le faire en direct depuis IBOconsole ou par la requête suivante quelque soit le requêteur:

ALTER TABLE MEMO_INFOS

ALTER COLUMN M_MEMO TYPE BLOB SUB_TYPE TEXT SEGMENT SIZE 80 CHARACTER SET ISO8859_1

j'obtiens toujours le message d'erreur "Changing datatype is not supported for BLOB or ARRAY columns", qui semble bien d'origine Firebird.

Si on veut que la manip soit faisable par tout le monde, il serait préférable qu'elle soit sous la forme d'une chaîne SQL à exécuter.

A+

André

PS: J'ai fait la modif à l'aide d'un script chaînant 24 requêtes à voir ici (http://andre.langlet.free.fr/fichiers/BLR2TEXT.txt) si certains veulent essayer. Mais attention, je ne l'ai essayé que depuis IBOConsole (avec Firebird 1.5 version serveur), et en cas de plantage pendant l'exécution, il faut repartir d'une copie de la base sauvegardée. Le fonctionnement d'Ancestrologie ne semble pas du tout perturbé. Et les champs de commentaires peuvent être exportés.
Titre: Adieu pipe-lines
Posté par: feiv5354 le 25 Juillet 2005 à 14:23:07
Grâce à vos indications (aqua et DD) et malgré mon inexpérience, ça à l'air de plutot bien se présenter pour l'utilisation d'Access.

Reste à me mettre sérieusement au boulot.

Comme le dit un éminent membre de ce forum, plus ça va, plus je me régale.
Titre: Adieu pipe-lines
Posté par: Horemans le 25 Juillet 2005 à 14:36:00
Citation de: "feiv5354"
éminent


C'est trop