Amélioration d'un outil VBA - Access pour ArcGis
Bonjour à tous,
Je suis débutant en programmation et je n'ai jamais utilisé le langage VBA alors svp soyez indulgents :)
J'ai cherché des solutions à mon problème mais je ne crois pas avoir trouvé de post répondant à ma question, les seules réponses s'en approchant concernent les tableurs Excel. Si c'est le cas désolé pour le doublon.
Enfin, voila mon problème :
J'ai une base de données Access qui recense l'ensemble des arbres présents au sein d'un patrimoine forestier, et dont les informations associées à chaque arbre sont stockées dans différentes tables.
Je dispose d'un outil me permettant de supprimer un arbre sélectionné :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| Sub supprimer_arbre()
'supprime un arbre
Dim maligne As IRow
Dim rep As String
Dim idarbre As Long
Dim mondoc As IMxDocument
Dim macarte As IMap
Dim macouche As ILayer
Dim matable_arbre As ITable
Dim i As Long
rep = MsgBox("Voulez-vous supprimer définitivement cet arbre ?", vbYesNo, "Suppression")
If rep = "6" Then 'oui
Set maligne = recuperer_ligne("arbre")
If IsNull(maligne.Value(maligne.Fields.FindField("id_arbre"))) Or maligne.Value(maligne.Fields.FindField("id_arbre")) = "" Then
maligne.Delete
Else
idarbre = maligne.Value(maligne.Fields.FindField("id_arbre"))
Set mondoc = ThisDocument
Set macarte = mondoc.Maps.Item(0)
For i = 0 To macarte.LayerCount - 1
If macarte.Layer(i).Name = "arbre" Then
Set macouche = macarte.Layer(i)
Set matable_arbre = macouche
Exit For
End If
Next i
choix_supr "photo", idarbre
choix_supr "document", idarbre
choix_supr "haubanage", idarbre
choix_supr "remplacement", idarbre
choix_supr "arbre_suivi", idarbre
choix_supr "intervention", idarbre
choix_supr "intervention_sol", idarbre
choix_supr "analyse_sol", idarbre
choix_supr "implantation", idarbre
choix_supr "prelevement", idarbre
End If
maligne.Delete
MsgBox "Suppression effectuée !", vbExclamation, "Information"
mondoc.ActiveView.Refresh
Else
MsgBox "Suppression annulée !", vbInformation, "Information"
End If
End Sub |
L'outil fonctionne parfaitement mais il ne convient plus aux besoin de mon service :
J'ai crée une nouvelle table "historique" dont la structure est la même que la table principale "arbre".
Avant de supprimer l'arbre concerné de ma table principale, j'aimerai récupérer les informations qui sont présentes sur cette table pour les copier dans ma table historique.
Du coup la suppression des informations associées de l'arbre concerné dans les tables annexes (photo, haubanage etc.) n'est plus une nécessité.
J'espère être suffisamment précis,
Merci beaucoup pour l'aide que vous pouvez m'apporter quelle qu'elle soit, je vous en serait particulièrement reconnaissant :)