Aller au contenu

LIAISON DE TABLES


lili2006

Messages recommandés

Bonsoir à toutes et tous,

 

Pour un projet de fin d'études de BTS Géomètre Topographe d'une de mes étudiantes, une question à laquelle je n'ai pas encore réfléchi est apparut :

 

Je m'explique :

 

Il s'agit d'un SIG pour un cimetière.

 

Nous avons fini le plan destiné aux requêtes par association.

 

C'est justement lors de tests des premières requêtes en SQL que nous avons vu qu'il fallait lier la table "TOMBES" avec celle des "DEFUNTS".

 

En effet, il existe dans ce cimetière des caveaux à 2 & 4 places et des tombes seules. A ce stade, je ne peux pas filtrer par requêtes SQL le nom des défunts dans les caveaux à 2 et 4 places par exemple,..

 

Je suppose que la solution est la jointure entre les deux tables ? Si oui, quelle serait le meilleur mode opératoire ?

 

Avant d'aller plus loin, j'attends vos avis éclairés.

 

LES FICHIERS

 

Merci d'avance,

 

PS: Je viens de voir que je ne peux pas faire d'export de la BD en "BD_ODBC"? C'est grave doc. ?:huh: => https://db.tt/wqkMTtiL

PPS: Quels sont les avantages d'exporter en .xml ?

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 66
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet

Images postées

Bonjour à toutes et tous,

 

Pour ne pas rester bloqué, j'ai fait un Map/Export avec les attributs des gabarits de liens crées, et un MAp /Import avec les attributs souhaités. J'ai donc bien toutes les infos de tables sur mes entités "polylignes tombes".

 

Mais j'aurai souhaité pousser un peu plus loin en "SIG Hybride", c'est à dire en requêtes par dessin associé.

 

Merci pour vos éclaircissements,

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Bonsoir à toutes et tous,

 

Plus généralement, ce cas doit se présenter, non ?

 

A savoir, en exemple ici, dans le rapport de requête SQL (en dessin associé) pouvoir récupérer le nom des défunts (via leur N° de table) contenus dans un caveaux de 4 ou 6 places ?

 

Comment pratiquez vous dans ce cas ?

 

Merci d'avance,

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Salut,

pas eu vraiment le temps de regarder ton problème ne détail,

mais juste pour faire avancer :

Est-ce que ton problème ne serais pas résolu en faisant des rectangles avec des tables caveaux, et dans ce rectangle en mettant des point avec une table défunt ?

je n'utilise pas ces fonctionalités de map, mais il me semble que l'on peut faire de l'enrichissement de données avec des notions comme contenu par ou contient

(en tous cas très simple par programmation)

Gégé

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Après avoir vu le fichier doc,

je vois que ton problème n'est plus dans la construction de la base, ni la requête (ça m'a l'air correct sauf que j'aimerai bien voir la traduction sql, je me méfie des interfaces),

mais dans le rapport :

je pense que tu es sur un bug de map,

si le crabe ne vient pas à ton secours, tu es foutu !

A+

Gégé

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

1) Désolé mais je suis overbooke / noyé

2) Je n ai pas regardé les fichiers

3) Il y a longtemps avec Access, j'avais été obligé de créer une requête Access qui accumulait / concaténait dans un champ texte LATOTALE 9 autres champs textes... C'était d'ailleurs des noms de personnes ...

LATOTALE = NOM1 + ';' + NOM2 + ';' + NOM3 + etc ...

A propos je ne sais plus si il fallait utiliser des simples quotes ou des doubles quotes dans la syntaxe Access ?

4) Cette requête devait être exécute REGULIEREMENT ainsi le champ LATOTALE etait OK pour exploitation avec MAP !

 

Peut être est ce la solution à votre souci !?

 

Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir à toutes et tous,

 

Tout d'abord, merci à tous pour vos réponses !:)

 

Salut Patrice,

 

Heu, j'ai bien peur de ne pas te suivre sur c 'coup là !!

 

Mon étudiante et moi "s'acharnons" sur MAP alors que le pb pourrait venir de la BD, j'ai bien compris ?

 

Si oui, je ne vois absolument pas ce que tu veux dire par

avec Access, j'avais été obligé de créer une requête Access qui accumulait / concaténait dans un champ texte LATOTALE 9 autres champs textes... C'était d'ailleurs des noms de personnes ...

 

Mais à priori, je serai intéressé par un ch'tit développement si le tps le permet,...:unsure:

 

Quoi qu'il en soit, cela redonne espoir car voilà 15 jours que l'on est bloqués,...:angry:

 

Merci d'avance,

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Hello Lilian d'Arcachon (si je me souviens bien !?)

 

Je viens de jeter un oeil rapide a ton PDF !

Et je suis HORRIFIE de voir des noms de tables, noms de champs, etc

avec des caracteres SPECIAUX ET/OU ACCENTS !!!

 

JAMAIS AUCUN Test serieux n'a ete realise par Autodesk avec ce genre de nom !!!

 

Ce n'est pas forcement la solution MAIS lors de mes formations AutoCAD et surtout MAP

J'INTERDIS TOUT caractere autre que A-Z , 0-9 , _

J'interdis meme le signe MOINS !

 

et tu ne peux pas savoir combien de bugs, J'EVITE ...

 

Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

 

Salut Patrice,

 

Hello Lilian d'Arcachon (si je me souviens bien !?)
C'est bien ça !;)

 

'INTERDIS TOUT caractere autre que A-Z , 0-9 , _

 

Tout pareil que toi,...

 

C'est une BD que nous a fourni l'administration pour laquelle ont fait ce projet de fin d'études. Jamais elle n'a été reliée graphiquement !

 

Tu penses qu'il faut que l'on commence par la retravailler au niveau des écritures ? Même les Noms/prénoms des défunts ??!!

 

Cela va t'il résoudre notre problème ? Sur certaines requêtes, j'arrive à avoir 2 défunts dans les caveaux filtrés. Un rapport justement avec l'écriture de ces noms/Prénoms dans la BD ?

 

En tout cas, même si il y a du travail de "nettoyage", ça vaut le coup de tester,...

 

D'autres idées / Recommandations ?

 

Merci encore,

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Salut,

J'INTERDIS TOUT caractere autre que A-Z , 0-9 , _

J'interdis meme le signe MOINS !

Complètement d'accord avec les accents et les caractères spéciaux,

mais pour les signes moins, je n'y avais jamais pensé ...

j'ai des tables avec un nom imposé, du style E-TRONCO,

c'est peut être une source de problèmes maintenant que tu le dis ...

Gégé

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Tu penses qu'il faut que l'on commence par la retravailler au niveau des écritures ? Même les Noms/prénoms des défunts ??!!

 

Cela va t'il résoudre notre problème ? Sur certaines requêtes, j'arrive à avoir 2 défunts dans les caveaux filtrés. Un rapport justement avec l'écriture de ces noms/Prénoms dans la BD ?

 

Merci encore,

Ce serait quand même étonnant que le contenu des tables pose problème, mais si tu t’aperçois que quand une requête marche, il n'y a pas d'accent, ça peut être une piste.

Gégé

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

*** Pour LILIAN ***

OUI si tu pouvais renommer des tables et champs pour tester une requete critique !?

MAIS ...

Renommer des tables alors que tu as deja realise les gabarits de liens = catastrophe !

Renommer des champs qui sont declares comme etant le champ CLE dans le gabarit de liens = catastrophe !

 

APRES si je me souviens bien, je crois que l'on peut magouiller FORT directement dans le DXF !

 

Au fait j'ose ESPERER que tes noms de gabarits de liens ne contiennent pas de caracteres speciaux ni de blancs/espaces !?

 

Neanmoins si tu y arrives et la requete AutoCAD MAP est OK ...

 

A propos, le contenu des champs : on s'en fout !

 

*** Pour GEGE ***

Une table nommee "E-TRONCO" ...

Tiens je pensais que c'etait la variable E MOINS la variable TRONCO !!

 

Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Je suis pas sûr d'avoir tout suivi depuis le début, car il y a des incohérences dans les données. Dans le document Word, il est question de générer des liens sur des blocs avec attributs, or dans le dessin joint, il n'y a pas de bloc, seulement des polylignes. Chaque polyligne de tombe possède un LT... mais la poly englobante aussi. Ça ressemble à de la génération de lien de type "Texte délimité" en laissant toutes les polylignes visibles à l'écran.

 

Ceci dit, si j'ai bien compris, le problème se pose en mode requête. La manière dont AutoCAD MAP fonctionne, c'est qu'il interroge le dessin source, vérifie si l'objet vérifie le critère de recherche et si oui écrit les infos dans une ligne du fichier texte. Si 300 objets vérifient la condition, alors le fichier TXT du rapport contiendra 300 lignes indépendamment du nombre d'enregistrements trouvés dans la base, seul le 1er sera extrait (celui qui est affiché dans les propriétés AutoCAD). On peut considérer ça comme un bug ou un manque de performances, mais ça fonctionne comme ça (je m'avance peut-être, mais je ne pense pas me tromper).

 

A mon avis la seule solution est celle proposée par Patrice, à savoir faire une requête dans ta base Access qui crée un enregistrement avec le numéro de la tombe, puis la concaténation de tous les occupants à la queue leu leu séparer par des ";".

Ensuite tu crées un gabarit de lien sur cette requête et tu génères tes liens sur l'option "Texte délimité" ou "Bloc délimté" en ne gardant visible à l'écran que tes tombes et tes numéros. Tu pourras alors faire une requête en mode rapport qui pour chaque tombe t'extrairas le champ "multi-noms".

 

+1 avec tout ce qui a été dit sur les noms de champs. J'ajoute que je me limite à 8 caractères sinon il y a tronquage dans l'export sous SHP (à cause du DBF), et le caractère "-" moins est interdit dans l'export SHP => la remarque de notre crustacé favori.

 

Olivier

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir à toutes et tous,

 

Salut Gégé,

 

Complètement d'accord avec les accents et les caractères spéciaux,

 

Plus de doutes possibles alors à ce niveau là !

 

Ce serait quand même étonnant que le contenu des tables pose problème, mais si tu t’aperçois que quand une requête marche, il n'y a pas d'accent, ça peut être une piste.

 

Bon c'est bien ça qui m'interpelle !! Ce phénomène ne peut pas être aléatoire,...Évidement, je manque de temps pour tester tout ça en profondeur pour le moment, la priorité étant de trouver une solution avant le 15 Mai, date de remise des dossiers de PFE !!

 

 

Salut Patrice,

 

A propos, le contenu des champs : on s'en fout !

 

Oki !;)

 

OUI si tu pouvais renommer des tables et champs pour tester une requete critique !?

 

Fait !, j'ai repris entièrement les fichiers ".dwg" et la BD Access (en lien ici)

 

J'attends de pouvoir réaliser l'opération que tu décris sous Access pour pouvoir créer mes gabarits de lien.

 

Au fait j'ose ESPERER que tes noms de gabarits de liens ne contiennent pas de caracteres speciaux ni de blancs/espaces !?

 

:(rires forts):

 

Neanmoins si tu y arrives et la requete AutoCAD MAP est OK ...

 

Il me tarde de pouvoir tester !!

 

:P:P

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Salut Olivier,

 

Ça ressemble à de la génération de lien de type "Texte délimité" en laissant toutes les polylignes visibles à l'écran.

 

Oui, oui, à ce stade c'était juste pour tester "vite fait" les liens. A ce stade d'avancement, nos fichiers ".dwg" sont ok ! On à bien utilisé texte délimité (et non pas un bloc, car l'étudiante à voulue vérifier avec la version "bloc" si le pb persistait,...)

 

seul le 1er sera extrait (celui qui est affiché dans les propriétés AutoCAD).

 

Oui, en changeant le n° du défunt directement depuis la palette des propriétés AutoCAD, cela fonctionne.

 

On peut considérer ça comme un bug ou un manque de performances, mais ça fonctionne comme ça (je m'avance peut-être, mais je ne pense pas me tromper).

 

On a fini par penser ça aussi, d'ou l'origine de ce post : Nous qui ne savons pas fire ou MAP ou la BD ??

 

à savoir faire une requête dans ta base Access qui crée un enregistrement avec le numéro de la tombe, puis la concaténation de tous les occupants à la queue leu leu séparer par des ";".

 

Je veux bien vous croire, mais j'sais pas faire ça moi !! Dans quelle direction dois je chercher ?

 

Nous avons tout de même revu la BD, et notamment la clé commune à associer au polygones "tombes", à savoir N_TOMBE (ça tombe bien, !:P).

 

Tu pourras alors faire une requête en mode rapport qui pour chaque tombe t'extrairas le champ "multi-noms".

 

Il nous tarde d'en arriver la !!:):rolleyes::D

 

+1 avec tout ce qui a été dit sur les noms de champs. J'ajoute que je me limite à 8 caractères sinon il y a tronquage dans l'export sous SHP (à cause du DBF), et le caractère "-" moins est interdit dans l'export SHP => la remarque de notre crustacé favori.

 

C'est noté, merci !

 

Si des fois quelqu'un pourrait me montrer, ce serait cool,

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

 

Et au format "shape", toujours sous MAP, pour que cela fonctionne, j'imagine que je dois faire une jointure "N° défunt/tombe" ?.

 

Comment pratiqueriez vous ?

 

D'avance, merci

 

PS: J'ai posté un nouveau sujet concernant tout particulièrement Access ici

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

 

Afin de m'assurer que le pb rencontré lors de la génération des rapports sous dessin associé ne viennent pas de la BD Access, ce que semble confirmer les échanges de ce post, je repars sur l'idée de Patrice et Olivier =>

 

A mon avis la seule solution est celle proposée par Patrice, à savoir faire une requête dans ta base Access qui crée un enregistrement avec le numéro de la tombe, puis la concaténation de tous les occupants à la queue leu leu séparer par des ";".

 

Et c'est là ou je reste bloqué,...

 

Ou alors, il faudrait pouvoir envoyer l'expression SQL qui va bien depuis le dialogue "Options du rapport de sortie" => Expression rapport.png

 

 

Remarque : Cette expression sous Access

SELECT * FROM DEFUNTS WHERE DEFUNTS.N_TOMBE=6;

 

Renvoi bien le résultat attendu => requête access.png

 

 

Une idée ?

 

PS: C'est également ma dernière demande sur le post pointé plus haut

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Salut Olivier,

 

je pense qu'il va falloir procéder avec un peu de VBA.

 

Carrément ? C'est vraiment ce que tu écrivais plus haut à ce point là ?

 

On peut considérer ça comme un bug ou un manque de performances,

 

Déjà, j'y connais rien à Access, alors là,...

 

Merci pour les liens, je vais voir ce que je peux comprendre de tout ça,...

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

YES pour : SELECT * FROM DEFUNTS WHERE DEFUNTS.N_TOMBE=6;

 

Mais le probleme principal (a mon avis), c'est simplement de creer une nouvelle table (create table)

avec les N champs necessaires (de DEFUNTS, TOMBE, etc) et surtout un champ de concatenation ( separe par des ; ) dans un NOUVEAU champ texte de : SELECT * FROM DEFUNTS WHERE DEFUNTS.N_TOMBE=6 ;

 

Et c'est au dela de mes faibles competences Access ...

 

Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant



×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité