Travailler avec les bases de données du projet FlexPro

23.08.2021

FlexPro stocke tous les objets dans une base de données projet. Vous pouvez appliquer une structure hiérarchique à cette base de données projets en créant des dossiers. Ainsi, une base de données projets FlexPro ressemble à un disque dur sur votre ordinateur. Au lieu de fichiers sur le disque dur, une base de données projet FlexPro contient des ensembles de données, des formules, des objets de présentation, des feuilles de calcul et des documents dont vous avez besoin pour votre analyse. Tout comme sur un disque dur, vous pouvez créer une hiérarchie de dossiers dans une base de données projet FlexPro pour organiser vos objets FlexPro.

Création d'une base de données projet

FlexPro peut ouvrir plusieurs bases de données à la fois qui sont ensuite stockées dans la collection Bases de données. Pour créer une nouvelle base de données vide, utilisez la méthode Add de la collection Databases. La méthode Add fournit la base de données nouvellement créée de manière à ce que vous puissiez l'affecter à une variable pour une utilisation ultérieure :

Dim Doc As Database

Set Doc = Databases.Add

Ouverture d'une base de données

Utilisez la méthode Open de la collection Databases pour ouvrir une base de données stockée dans un fichier.

Dim Doc As Database

Set Doc = Databases.Open("C:\Databases\MyDatabase.fpd", fpOpenModeBackup)

Sauvegarde d'une base de données

Si la base de données est nouvelle et n'a pas encore été enregistrée, utilisez la méthode SaveAs. Le deuxième argument détermine comment la base de données doit être sauvegardée.

Doc.SaveAs "C:\Databases\MyDatabase.fpd", fpSaveModeOneFile

Utilisez la méthode d'enregistrement pour enregistrer une base de données qui a déjà été ouverte en tant que fichier et qui a été enregistrée au moins une fois auparavant.

Doc.Save

Utilisez la méthode Enregistrer de la collection Bases de données pour enregistrer toutes les bases de données qui sont actuellement ouvertes. Pour les bases de données qui n'ont pas encore de nom de fichier, une boîte de dialogue apparaît, dans laquelle vous pouvez spécifier le nom.

Bases de données.Save

Fermeture d'une base de données

Vous pouvez fermer une base de données individuelle en utilisant sa méthode de fermeture.

Doc.Close fpSaveChanges

Vous pouvez également fermer toutes les bases de données qui sont actuellement ouvertes.

Bases de données.Fermer fpPromptToSaveChanges

Accès aux bases de données

Pour accéder à une base de données dans la collection Bases de données, utilisez le nom du chemin d'accès ou le nom qui s'affiche dans la fenêtre principale de FlexPro.

Set Doc = Databases("C:\Databases\MyDatabase.fpd")

Utilisez la méthode ActiveDatabase de l'objet Application pour accéder à la base de données actuellement active.

ActiveDatabase.Close

Création d'objets et de dossiers

Utilisez la méthode Add de l'objet Folder pour créer des objets et des dossiers dans la base de données. Utilisez la propriété RootFolder de l'objet Database pour accéder au dossier racine.

Dim Fld As Folder

Set Fld = ActiveDatabase.RootFolder.Add("Folder", fpObjectTypeFolder)

La méthode Add peut également ajouter d'autres objets, en renvoyant le nouvel objet comme résultat.

Avec Fld.Add("Series", fpObjectTypeFormula)

    .Formula = "(100, 0.0, 0.1)"

End With

Accès aux objets

Pour accéder à un objet dans un dossier, utilisez la méthode Object du dossier. Vous pouvez spécifier le nom de l'objet et le type d'objet ou juste le nom avec l'extension liée au type spécifique.

ActiveDatabase.RootFolder.Object("Diagram", fpObjectTypeDiagram2D) _

    .Comments = "Measurement 1"

ou

ActiveDatabase.RootFolder.Object("Diagram.2D").Comments = "Mesure 1"

En utilisant la propriété Parent, qui est disponible pour chaque objet FlexPro, vous pouvez accéder à l'objet (généralement un dossier) qui contient l'objet. L'exemple suivant permet d'accéder au commentaire ajouté à un dossier contenant l'ensemble de données qui a été attribué à la variable objet "Dataset".

Dataset.Parent.Comments = " Mesure 1 "

Recherche d'objets dans la base de données

Utilisez la méthode Objets de l'objet Dossier pour rechercher des objets. Plusieurs options sont disponibles.

L'exemple suivant recherche tous les objets de l'ensemble de données dont le nom commence par "sig".

Dim Objets

Set Objects = ActiveDatabase.RootFolder.Objects("^sig*\.dat$")

L'expression régulière est structurée comme suit :

Séquence

Signification

"^sig"

Spécifie que le nom de l'objet doit commencer par "sig".

".*"

Représente une chaîne de caractères de n'importe quelle longueur, composée de n'importe quels caractères.

"\.dat$"

Spécifie que le nom de l'objet doit se terminer par ".dat", c'est-à-dire que l'objet doit être un ensemble de données.

L'exemple suivant trouve un objet de jeu de données appelé "Signal" et un graphique 2D appelé "Plot".

Dim Objets

Set Objects = ActiveDatabase.RootFolder.Objects("Signal", "Plot.2d")

L'exemple suivant recherche tous les objets dont la valeur de la propriété Origine est "Mesure 1".

Dim Constraints As New SearchConstraints

Avec Constraints.Add

    .SearchItem = fpSearchItemOrigin

    .CompareOperation = fpSearchCompareOpTextIs

    .SearchValue = "Measurement 1"

End With

Dim Objets

Set Objects = ActiveDatabase.RootFolder.Objects(Constraints)

Utilisez la méthode Objets de l'objet Base de données pour accéder simultanément à des objets situés dans différents dossiers. L'exemple suivant supprime deux objets.

ActiveDatabase.Objects(Array("\Diagram.2d", _

    "\Measurement1\Signal")).Delete

Utilisez la méthode de recherche de l'objet Dossier pour rechercher des objets dans tout ou partie de la base de données. L'exemple suivant recherche tous les ensembles de données dont la valeur maximale est supérieure à 10 et déplace ces ensembles de données vers le dossier "Data Folder".

Dim Constraints As New SearchConstraints

Avec Constraints.Add

    .SearchItem = fpSearchItemObjectType

    .CompareOperation = fpSearchCompareOpObjectTypeIsKindOf

    .SearchValue = fpObjectTypeDataSet

End With

Avec Constraints.Add

    .SearchItem = fpSearchItemMaximum

    .CompareOperation = fpSearchCompareOpValueGreater

    .SearchValue = 10#

End With

ActiveDatabase.RootFolder.Search(True, Constraints). _

    Déplacer vers ActiveDatabase.Object("\Data Folder.FLD")

Partager l’article ou envoyer par mail :

Vous serez probablement intéressé par les articles suivants :