Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#1 Wed 20 February 2013 11:26

AlexisX
Juste Inscrit !
Lieu: Lille
Date d'inscription: 20 Feb 2013
Messages: 2

[ARCGIS 10] Ajouter ObjectID

Bonjour,

J'ai une base de donnée sous Access, les tables n'ont donc pas d'ObjectID.

Je dois travailler sur ArcGis car une partie des données doit être entrée à partir de données géographiques (lignes, points).
Je suis donc connecté en OLE DB.

J'ai besoin que mes tables de ma Base de donnée Access aient un ObjectID pour pouvoir travailler dessus (notamment intégrer les données des "lignes" automatiquement dans la table "Ligne").

L'aide d'ArcGis semble dire que cela est possible grâce à l'outil Générer une table de requête (Make Query Table) http://help.arcgis.com/fr/arcgisdesktop … 006r000000

J'utilise donc cette fonction :

ADD_VIRTUAL_KEY_FIELD —Indique qu'aucun champ de clé n'a été sélectionné, mais qu'une colonne ObjectID dynamique doit être générée. Pour cela, vous devez copier les données dans un espace de travail local, géré par le système, et ajouter un champ contenant des valeurs uniques à la copie. La couche ou la vue tabulaire accède alors à la copie et utilise le champ ajouté comme champ de clé.

Cependant cela créer une nouvelle table identique avec l'objectID mais ne rajoute pas le champ directement dans la table liée à Access.

Bref, ma question est donc : Quel est la méthode pour créer un objectID dans une table d'une BDD connectée en OLE DB ?

Merci pour vos réponses,

Hors ligne

 

#2 Wed 20 February 2013 14:58

Kevin Jousseaume
Participant assidu
Lieu: Nanterre, région parisienne
Date d'inscription: 20 Mar 2006
Messages: 217

Re: [ARCGIS 10] Ajouter ObjectID

Bonjour,

J'ai peur que ce que vous essayez de faire ne soit pas faisable, tout du moins pas ainsi... Pour créer des données géographiques depuis ArcGIS Desktop en standard, il faut que vos données soient au format shapefile ou geodatabase. Une geodatabase peut se concrétiser suivant différents formats : geodatabase fichier, geodatabse SDE (basée sur un SGBD du type Oracle ou SQL Server) ou geodatabase personnelle (format Access).

Dans le cas de la geodatabase personnelle, si son format de stockage est une base Access, cela ne signifie pas pour autant que toute base Access soit une geodatabase personnelle. Dans une geodatabase personnelle, il y a un ensemble de tables de métadonnées propres à ArcGIS. Et l'insertion ou la suppression d'enregistrements dans une table en passant par des requêtes pures SQL sont à proscrire car ces métadonnées ne sont pas actualisées : vous devez passer par ArcMap, par les outils de geotraitements ou les ArcObjects pour réaliser ces mises à jour.

Si les données de votre bases Access ne sont pas mises à jour par d'autres biais, je vous conseille de créer une geodatabase personnelle depuis ArcCatalog puis d'y importer les données de votre base Access. Il faut pour cela que vous disposiez de champs avec les coordonnées X/Y et que vous utilisiez l'outil "Générer une couche d'événements XY" http://help.arcgis.com/fr/arcgisdesktop … 06z000000/

Si vos données Access sont mises à jour par d'autres applications, il faudra réfléchir à une autre solution...

Cordialement,
Kevin

Hors ligne

 

#3 Wed 20 February 2013 15:51

AlexisX
Juste Inscrit !
Lieu: Lille
Date d'inscription: 20 Feb 2013
Messages: 2

Re: [ARCGIS 10] Ajouter ObjectID

Bonjour et merci de votre réponse,

Je comprends donc que je dois trouver une autre solution, je ne suis pas sur d'avoir bien compris la votre.

Pour plus de facilité je vais essayer d'expliquer un peu mieux ce que je cherche à faire :
- Je possède des données géométriques, principalement des lignes, chaque ligne possède des attributs et un identifiant unique.
- Ma Base de donnée Access contient différentes tables reliées.
- Je souhaites que les attributs des lignes puissent simplement renseigner ma base Access, qui sera complétée également manuellement pour certaines tables.
- J'ai créé ma table Ligne dans Access avec tout ses attributs.
La difficulté est que je souhaites qu'à l'ajout (ou à la suppression) d'une ligne, la table Access (Ligne) soit directement mise à jour.

En espérant avoir été plus clair,
Je suis preneur de toute suggestion,
Merci beaucoup !

Hors ligne

 

Pied de page des forums

Powered by FluxBB