#1 Tue 04 September 2007 16:07
[Arcview 8.x+] RequĂȘte + mise a jour
Hello,
Je cherche à faire une opération sous arcgis que je sais faire sous Mapinfo et je souhaitais savoir si c'était techniquement possible avec ma version, ou sur une version plus récente.
VoilĂ le code en SQL :
Select * from Matable Where ( indiceA=1 AND indiceB=1 ) Into MaSelection
Update MaSelection Set indiceFinal = 1
Je sais bien sûr le faire à la main, mais j'aimerais en lancer tout un paquet d'affilée.
La méthode "Sélection avec la boßte de dialogue, puis mise à jour dans la colonne puis Sélection avec la boßte de dialogue, puis mise à jour" est exclue car trop longue. Pour l'instant je jongle un peu mais j'aime bien centraliser les traitements dans un seul soft.
Merci de toute piste, je suis aussi intéressé par savoir si c'est possible dans les version suivantes.
Robin.
Hors ligne
#2 Tue 04 September 2007 17:23
- paulcarrot
- Participant occasionnel
- Lieu: saint-etienne
- Date d'inscription: 14 Nov 2005
- Messages: 42
Re: [Arcview 8.x+] RequĂȘte + mise a jour
Bonjour,
Avez vous essayĂ© de faire une requĂȘte VBA?Du genre :
dim mavariable as integer
if [indiceA] = 1 and [indiceB]=1 then
mavariable = 1
end if
indicefinal =
mavariable
Essayez de voir si ça peut coller à vos attentes.
Cordialement PCA
Hors ligne
#4 Tue 04 September 2007 17:53
Re: [Arcview 8.x+] RequĂȘte + mise a jour
Re,
J'ai testé, c'est tout à fait ce que je voulais.
ProcĂ©dure pour ceux qui se demandent oĂč ça se passe :
- Clic droit sur l'entĂȘte de la colonne dans la table d'attributs
- Calculer les valeurs...
- Clic sur le bouton "avancé"
- Coller le code dans la boĂźte de dialogue.
Merci beaucoup.
Robin
Ps : le test avec plusieurs conditions est tout à fait faisable, c'est ça que je voulais faire ![]()
Dim mavariable as integer
if [IndiceA] = 1 and [IndiceB]=1 then
mavariable=1
end if
if [IndiceA] = 1 and [IndiceB]=2 then
mavariable=2
end if
if [IndiceA] = 3 and [IndiceB]=3 then
mavariable=3
end if
indicefinal=mavariable
Hors ligne
#5 Tue 04 September 2007 18:58
Re: [Arcview 8.x+] RequĂȘte + mise a jour
Rebonsoir,
J'ai testé une autre formule avec "Select Case", histoire de voir, et elle me plaßt pas mal
(plus simple pour explorer toutes les possibilités) :
Dim mavariable as integer
Select Case [IndiceA]
Case 1
Select Case [IndiceB]
Case 1
mavariable = 1
Case 2
mavariable = 2
End select
Case 2
Select Case [IndiceB]
Case 1
mavariable = 1
Case 2
mavariable = 2
End select
End Select
Hors ligne

