#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

