#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