Réserver une Démo

SVP notez : Cette page d’aide n’est pas pour la dernière version d’Enterprise Architect. La dernière aide peut être trouvée ici.

Pré. Proc.

Créer des définitions de recherche

Si vous souhaitez définir vos propres recherches, vous pouvez le faire à l'aide de l'éditeur SQL, du générateur de Query ou d'un Add-In , via la boîte de dialogue « Nouvelle recherche ». Les recherches définies par l'utilisateur sont stockées dans les données de l'application utilisateur pour la machine utilisée, et non dans le référentiel du projet.

Accéder

Ruban

Explorer > Rechercher > Modèle : New search icon. ou

Design > Element > Manage > Search Modèle : New search icon.

Raccourcis Clavier

Crtl+F : New search icon. ou

Ctrl+Alt+A : New search icon.

Créer une nouvelle définition de recherche

Champ/Bouton

Action

Voir également

Nom

Type un nom pour la recherche.

Générateur Query

Cliquez sur ce bouton radio pour créer votre recherche via l'éditeur de recherche interne.

Éditeur SQL

Cliquez sur ce bouton radio pour créer votre recherche en écrivant directement des instructions SQL.

(Pour les utilisateurs avancés.)

Recherche Add-In

Cliquez sur ce bouton radio pour définir la recherche en fonction d'un Add-In .

Nom et méthode Add-In

(Disponible si vous avez sélectionné le bouton radio « Recherche de Add-In »)

Type :

  • Le nom de votre Add-In
  • Un point (point) et
  • Le nom de la méthode à appeler chaque fois que la recherche est effectuée (par exemple, exécuter ) ; cette recherche peut être exportée et distribuée dans le cadre de votre Add-In
Recherche Add-In

OK

Cliquez sur ce bouton pour créer la nouvelle recherche et fermer le dialogue .

Le panneau du générateur de recherche s'ouvre sous la barre d'outils. Pour:

  • Une recherche de Add-In , aucune autre action n'est requise ; cliquez sur l'icône Edit search. pour fermer le panneau du générateur de recherche
  • Une recherche de générateur de Query , le panneau par défaut est l'onglet " Générateur de Query " et vous pouvez commencer à ajouter des filtres et à construire la recherche ; voir la rubrique Définir et modifier les recherches
  • Une recherche SQL, le panneau par défaut est l'onglet " Générateur de Query " et vous pouvez commencer à créer l'instruction SQL pour la recherche, comme dans Créer une recherche SQL
Le générateur de recherche fournit également un onglet "SQL Scratch Pad", que vous pouvez utiliser pour créer et tester des instructions SQL avant de les copier dans l'onglet " Query Builder".

Les instructions SQL du 'SQL Scratch Pad' ne sont rattachées à aucune recherche et ne font l'objet d'aucune opération initiée depuis la barre d'outils ' Rechercher dans Projet '.

Définir et modifier les recherches

Annuler

Cliquez sur ce bouton pour abandonner la création de la recherche et fermer le dialogue .

Créer une recherche SQL

Vous pouvez créer des instructions SQL à l'aide de l'éditeur SQL via l'onglet " Générateur de Query ". L'éditeur SQL est basé sur l'éditeur Éditeur de Code commun et fournit une liste d'auto-complétion Intelli-sense remplie à partir de la structure du référentiel Enterprise Architect .

Pour afficher la liste d'auto-complétion, placez le curseur après une commande et appuyez sur Ctrl+Espace.

Une recherche simple peut consister à localiser un object à partir d'un tableau , étant donné un terme de recherche que l'utilisateur entre dans le champ 'Terme de recherche' ; par exemple:

SELECT * FROM t_object WHERE Name='<Terme de recherche>' (voir aussi la ligne <Terme de recherche> dans le tableau ))

Dans les instructions WHERE, vous pouvez utiliser des macros #xxx# comme substituts de string , afin que la même recherche puisse être utilisée par différentes personnes dans différents environnements. Ces macros sont toutes sensibles à la casse. Ils comprennent:

Macro

La description

Voir également

#Author#

Prend le nom d'utilisateur du champ 'Auteur' dans la page 'Général' de la boîte de dialogue 'Préférences', de sorte que la recherche définie peut être effectuée sur des objets créés par cet utilisateur (cette valeur peut être réinitialisée manuellement dans la boîte de dialogue 'Préférences') . Ceci doit être utilisé dans une string .

#Bifurquer#

Obtient l' ID de chaque Paquetage enfant sous un ou plusieurs Paquetages parents, en travaillant de manière récursive jusqu'au niveau le plus bas du sous-Package. Par exemple:

t_object.Package_ID dans (#Branch#)

Il existe trois permutations de cette macro :

  • dans #Branch# - obtient l' ID de chaque paquetage enfant du Paquetage Paquetage sélectionné par l'utilisateur
  • in #Branch=<GUID># ou #Branch=<ID># - obtient l' ID de chaque paquetage enfant du Paquetage parent Paquetage par le GUID ou l' ID
  • in #Branch=<ID>,<ID>,<ID># - obtient l' ID de chaque Paquetage enfant sous chaque Paquetage parent spécifié par son ID

#Concat <valeur1>, <valeur2>, ...#

Fournit une méthode de concaténation de deux ou plusieurs termes SQL en une seule string , indépendamment du type de base de données.

#Datepart <champ>, <colonne>#

Fournit une méthode d'interrogation d'une partie de la Date, indépendamment du type de base de données. La valeur de <champ> peut être l'une des suivantes :

  • an
  • mois
  • journée
  • jour de l'année
  • jour de la semaine
  • la semaine
  • nom du jour

#GUIDélémentactuel#

Obtient le ea_guid pour l'élément actuellement sélectionné. Par exemple:

t_object.ea_guid=#CurrentElementGUID#

#CurrentElementID#

Obtient l'Object_ID pour l'élément actuellement sélectionné. Par exemple:

t_object.Object_ID=#CurrentElementID#

#DB=<NOMDB>#

DBNAME peut être l'un des suivants :

  • SL3
  • OISEAU DE FEU
  • JET
  • ACCÈS2007
  • MYSQL
  • ORACLE
  • SQLSVR
  • COMME UN
  • POSTGRE
Cela utilise uniquement la section de code entre deux macros #DB=<DBNAME># correspondantes si le type de base de données actuel correspond au DBNAME spécifié ; il peut être utilisé lorsqu'une section du SQL peut nécessiter un traitement spécial en fonction du type de base de données actuel. Par exemple:

sélectionner *

de t_object

#DB=Other#t_object.modifieddate >= maintenant () - 'Search Term'#DB=Other#

#DB=SQLSVR#t_object.modifieddate >= getdate() - 'Terme de recherche'#DB=SQLSVR#

#DB=ORACLE#t_object. ModifiedDate >= (SYSDATE - INTERVAL 'Search Term' DAY) #DB=ORACLE#

#DB=POSTGRES#t_object.modifieddate >= CURRENT_DATE - 'Terme de recherche'#DB=POSTGRES#

#Left <champ>, <compte>#

Renvoie le nombre 'count' de caractères du champ, en commençant au début de la string .

#Now#

Insère la date actuelle plus ou moins un nombre spécifié d'heures ou de jours ; la valeur par défaut est jours (le format de date est ajusté pour s'adapter à la base de données utilisée) comme dans :

  • t_objet. ModifiedDate >=#Maintenant <Terme de recherche>#
Par exemple:
  • t_objet. ModifiedDate >= #Now -4d# d correspond à des jours
  • t_objet. ModifiedDate >= #Now -5h# h correspond à des heures
  • t_objet. ModifiedDate >= #Now +3# par défaut en jours
  • t_objet. ModifiedDate >= #Now#

#Package#

Obtient le Paquetage pour le Paquetage actuellement sélectionné. Par exemple:

t_object.Package_ID=#Package#

#Right <field>, <count>#

Renvoie le dernier nombre 'count' de caractères du champ.

<Terme de recherche>

Obtient la valeur sur laquelle rechercher, à partir du texte saisi dans le champ 'Terme de recherche' de la vue Rechercher dans Projet (le troisième champ à partir de la gauche). Il fonctionne donc lorsqu'une recherche active est en exécuter et que des valeurs sont placées dans ce champ. Il doit apparaître à l'intérieur d'une string et doit être entre guillemets si le tableau .Field auquel il est comparé est de type string .

#Sous-chaîne <champ>, <début>#

Renvoie le reste du champ en commençant par le caractère 'start' (base 1)

#Sous-chaîne <champ>, <début>, <compte>#

Renvoie le 'count' nombre de caractères du champ commençant au caractère 'start' (base 1).

#UserName#

Obtient le nom de la personne connectée à Contrôle de Version .; il doit être utilisé à l'intérieur d'une string . Cet exemple provient de la recherche intégrée "Mes Paquetages ".

t_package.PackageFlags COMME '#WC#VCCFG=#WC#CheckedOutTo=#UserName##WC#'

#WC#

Obtient le caractère générique approprié pour la base de données actuelle, afin que la recherche puisse être effectuée sur des modèles de différentes bases de données. Il doit être utilisé à l'intérieur d'une string . Par exemple:

t_object.Name LIKE '#WC#Test#WC#'

Le GUID et le Type

Pour toutes les fonctions dans lesquelles vous utilisez une instruction SQL personnalisée (y compris Document Rapportage et Modèle Vues ), l'instruction doit renvoyer le GUID et le type de l' object trouvé afin que le système puisse rechercher l'élément sélectionné dans la fenêtre Navigateur . L'instruction SELECT est sensible à la casse et doit être saisie comme indiqué :

  • SELECT ea_guid AS CLASSGUID, Object_Type AS CLASSTYPE, Nom FROM t_object
Vous pouvez étendre la convivialité de vos recherches SQL en utilisant les alias CLASSGUID et CLASSTYPE, de sorte que vous puissiez afficher le dialogue ' Propriétés ', Valeur Étiquetés et l'icône des éléments, connecteurs, attributs ou opérations, ainsi que les sélectionner dans la fenêtre du Navigateur . Voici quelques exemples simples d'utilisation de ces champs alias :
  • SELECT ea_guid AS CLASSGUID, Object_Type AS CLASSTYPE, Nom FROM t_object
  • SELECT ea_guid AS CLASSGUID, 'Opération' AS CLASSTYPE, Nom FROM t_operation
  • SELECT ea_guid AS CLASSGUID, 'Attribut' AS CLASSTYPE, Nom FROM t_attribute
Les requêtes pour les connecteurs et les diagrammes peuvent toutes deux renvoyer des types qui correspondent à l'association par défaut aux types d' object . Pour ces tableaux , vous devez également renvoyer un champ CLASSTABLE pour leur permettre de se distinguer du type d' object similaire.
  • SELECT ea_guid AS CLASSGUID, Connector_Type AS CLASSTYPE, 't_connector' as CLASSTABLE, Name FROM t_connector
  • SELECT ea_guid AS CLASSGUID, Diagram_Type AS CLASSTYPE, 't_diagram' as CLASSTABLE, Name FROM t_diagram
Vous pouvez permettre aux utilisateurs de votre recherche de faire glisser et déposer des éléments des résultats de la recherche dans un diagramme , en incluant l'un de ces éléments dans votre instruction SELECT de recherche :
  • (t_object.Object_ID et t_object.Object_Type) ou
  • t_objet. ea_guid AS CLASSGUID
Lorsque vous avez défini l'instruction SELECT, cliquez sur le bouton Enregistrer dans la barre d'outils ' Query Builder' pour enregistrer cette recherche ; la recherche est alors disponible dans la liste déroulante 'Rechercher'.

Boutons de la barre d'outils SQL Scratch Pad

L'onglet 'SQL Scratch Pad' offre un petit nombre de facilités via sa barre d'outils.

Icône

La description

Start test.

Cliquez sur cette icône pour tester la recherche que vous avez définie. Les résultats s'affichent dans le panneau principal de la vue ' Rechercher dans Projet '.

Cliquez sur cette icône pour enregistrer la recherche SQL en cours en tant que nouvelle recherche. Une prompt s'affiche pour le nouveau nom de recherche.

Lorsque vous cliquez sur le bouton OK , le système passe à l'onglet « Query Builder », copie l'instruction SQL dans l'onglet et place le nom de la recherche dans le champ « Search ».

Cliquez sur cette icône pour effacer le 'SQL Scratch Pad' de la définition de recherche actuelle.

Notes

  • Lorsque vous créez une recherche SQL personnalisée dans l'onglet ' Query Builder', les deux seules icônes disponibles dans la barre d'outils sont l'icône Enregistrer et l'icône Supprimer le filtreRemove filter button. ; l'icône Supprimer le filtre est en fait une icône Supprimer qui supprime le contenu de la recherche (l'instruction SQL)

Apprenez Plus