Supprimer des pièces jointes (Gestion des données)

Synthèse

Supprime des pièces jointes de classe d'entités de géodatabase ou d'enregistrements de table.

Puisque les pièces jointes ne sont pas véritablement stockées dans le jeu de données en entrée, aucun changement n’est apporté à cette classe d’entités ou table. Les modifications sont apportées à la table de géodatabase associée qui stocke les pièces jointes et gère le lien avec le jeu de données en entrée. Une table d’appariement permet d’identifier les enregistrements en entrée (ou groupes attributaires d’enregistrements) qui auront des pièces jointes supprimées.

En savoir plus sur l’utilisation des outils du jeu d’outils Pièces jointes

Illustration

Illustration de l’outil Supprimer des pièces jointes

Utilisation

  • Cet outil ne tient pas compte des sélections.

  • Au lieu d’utiliser cet outil, vous pouvez aussi supprimer des enregistrements sélectionnés depuis la table InputDataset__ATTACH dans la même géodatabase que la valeur Jeu de données en entrée, qui stocke les pièces jointes et gère le lien avec la valeur Jeu de données en entrée.

  • Cet outil prend en charge une couche d’entités hébergée ArcGIS Enterprise en entrée.

Paramètres

ÉtiquetteExplicationType de données
Jeu de données en entrée

Table de géodatabase ou classe d’entités de laquelle des pièces jointes seront supprimées. Les pièces jointes ne seront pas supprimées directement de cette table. Elles seront supprimées de la table de pièces jointes associée qui stocke les pièces jointes. Les pièces jointes doivent être activées dans le jeu de données.

Table View
Champ de jointure en entrée

Champ provenant de la valeur du paramètre Jeu de données en entrée qui contient des valeurs correspondant aux valeurs dans la valeur du paramètre Apparier le champ de jointure. Des pièces jointes seront supprimées des enregistrements qui ont des valeurs de champ de jointure correspondant à la valeur du paramètre Jeu de données en entrée et à la valeur du paramètre Table d’appariement. Ce champ peut être un champ d'identifiant d'objet ou tout autre attribut d'identification.

Field
Table d'appariement

Table qui identifie quels enregistrements en entrée auront des pièces jointes supprimées.

Table View
Champ de jointure apparié

Champ provenant de la table d’appariement qui indique de quels enregistrements de la valeur du paramètre Jeu de données en entrée les pièces jointes spécifiées seront supprimées. Ce champ peut avoir des valeurs qui correspondent au champ d’ID d’objet Jeu de données en entrée ou à un autre attribut d’identification.

Field
Champ de nom apparié
(Facultatif)

Champ de la table d’appariement contenant les noms des pièces jointes à supprimer des enregistrements de la valeur du paramètre Jeu de données en entrée. Si aucun champ de nom n’est spécifié, toutes les pièces jointes seront supprimées de chaque enregistrement spécifié dans la valeur du paramètre Apparier le champ de jointure. Si un champ de nom est spécifié, mais qu’un enregistrement a une valeur nulle ou vide dans le champ de nom, toutes les pièces jointes seront supprimées de cet enregistrement. Les valeurs de ce champ doivent être des noms courts de la pièce jointe à supprimer, pas les chemins complets aux fichiers utilisés pour attacher les pièces jointes d’origine.

Field

Sortie obtenue

ÉtiquetteExplicationType de données
Jeu de données en entrée mis à jour

Jeu de données en entrée mis à jour.

Table View

arcpy.management.RemoveAttachments(in_dataset, in_join_field, in_match_table, in_match_join_field, {in_match_name_field})
NomExplicationType de données
in_dataset

Table de géodatabase ou classe d’entités de laquelle des pièces jointes seront supprimées. Les pièces jointes ne seront pas supprimées directement de cette table. Elles seront supprimées de la table de pièces jointes associée qui stocke les pièces jointes. Les pièces jointes doivent être activées dans le jeu de données.

Table View
in_join_field

Champ provenant de la valeur du paramètre in_dataset qui contient des valeurs correspondant aux valeurs dans la valeur du paramètre in_match_join_field. Des pièces jointes seront supprimées des enregistrements qui ont des valeurs de champ de jointure correspondant à la valeur du paramètre in_dataset et à la valeur du paramètre in_match_table. Ce champ peut être un champ d'identifiant d'objet ou tout autre attribut d'identification.

Field
in_match_table

Table qui identifie quels enregistrements en entrée auront des pièces jointes supprimées.

Table View
in_match_join_field

Champ provenant de la table d’appariement qui indique de quels enregistrements de la valeur du paramètre in_dataset les pièces jointes spécifiées seront supprimées. Ce champ peut avoir des valeurs qui correspondent au champ d’ID d’objet in_dataset ou à un autre attribut d’identification.

Field
in_match_name_field
(Facultatif)

Champ de la table d’appariement contenant les noms des pièces jointes à supprimer des enregistrements de la valeur du paramètre in_dataset. Si aucun champ de nom n’est spécifié, toutes les pièces jointes seront supprimées de chaque enregistrement spécifié dans la valeur du paramètre in_match_join_field. Si un champ de nom est spécifié, mais qu’un enregistrement a une valeur nulle ou vide dans le champ de nom, toutes les pièces jointes seront supprimées de cet enregistrement. Les valeurs de ce champ doivent être des noms courts de la pièce jointe à supprimer, pas les chemins complets aux fichiers utilisés pour attacher les pièces jointes d’origine.

Field

Sortie obtenue

NomExplicationType de données
out_dataset

Jeu de données en entrée mis à jour.

Table View

Exemple de code

Exemple 1 d’utilisation de l’outil RemoveAttachments (fenêtre Python)

L’extrait de code suivant illustre l’utilisation de la fonction RemoveAttachments dans la fenêtre Python.

import arcpy
arcpy.management.RemoveAttachments(r"C:\Data\City.gdb\Parcels", "ParcelID", 
                                   r"C:\Data\matchtable.csv", "ParcelID", 
                                   "Picture")
Exemple 2 d’utilisation de l’outil RemoveAttachments (script autonome)

Le script suivant illustre l’utilisation de la fonction RemoveAttachments dans un script autonome.

# Delete unnecessary attachments from a feature class using a match table
import arcpy

input = r"C:\Data\City.gdb\Parcels"
input_field = "OBJECTID"
match_field = "MatchID"
name_field = "Filename"
workspace = arcpy.Describe(input).path

# Create a new geodatabase Match Table for the RemoveAttachments tool
# to delete the designated attachments for the associated ObjectID and file name.
match_table = arcpy.management.CreateTable(workspace, "remove_matchtable")
arcpy.management.AddFields(match_table, [['MatchID', 'LONG'], ['Filename', 'TEXT']])

# Create a list to remove attachments pic1a.jpg and pic1b.jpg from feature 1,
# pic3.jpg from feature 3, and pic4.jpg from feature 4.
delete_list = [[1, "pic1a.jpg"], [1, "pic1b.jpg"], [3, "pic3.jpg"], [4, "pic4.jpg"]]

# Iterate through the delete list and write it to the Match Table.
with arcpy.da.InsertCursor(match_table, ['MatchID', 'FileName']) as match_cursor:
    for row in delete_list:
        new_row = row[0], row[1]
        match_cursor.insertRow(new_row)

del match_cursor

# Use the match table with the Remove Attachments tool.
arcpy.management.RemoveAttachments(input, input_field, match_table, match_field, name_field)

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes