'------------------------------------------------------------------------------- 'File : DdlFileImporterModul ' Copyright mpl by ERB software ' All rights reserved ' http://wiki.yaslaw.info/wikka/vbaPrintF 'Environment : VBA 2007 + 'Version : 1.0 'Name : Modul zur Klasse DdlFileImporter 'Author : Stefan Erb (ERS) 'History : 16.10.2013 - ERS - Creation ' 'References : Microsoft VBScript Regular Expressions 5.5 ' Microsoft Scripting Runtime ' 'Description : Leider ist es nicht möglich Enum und Type als Public in einer Klasse zu speichern. ' Darum ist dies das Modul mit den Definitionen zr Klasse DdlFileImporter '------------------------------------------------------------------------------- Option Explicit Option Compare Database '------------------------------------------------------------------------------- ' Public Members '------------------------------------------------------------------------------- '/** ' * Auswahl der verschiedenen DDL-Aktionen ' */ Public Enum enuDdlAction ddlaCreate = 0 ddlaReplace ddlaAlter ddlaDelete End Enum '/** ' * Auswahl der versch. überschreibbaren Parameters. Siehe Methoden setParam() und getParam() ' */ Public Enum enuDdlParam ddlpViewNamePos 'Position (Index) des Viewnames im Pattern für die Regexp. Default: 0 ddlpViewSqlPos 'Position (Index) des SQL-Scripts im Pattern für die Regexp. Default: 1 End Enum '/** ' * Type um die Error-Eigenschaften weiterzureichen. Siehe Beschreibung des ErrObjects ' */ Public Type ddlError number As Long description As String source As String helpFile As String helpContext As String End Type '/** ' * Type mit allen Information über ein DDL-Script ' */ Public Type ddlScript offset As Long 'Ab dieser Zeichennummer beginnt das Script in der Datei objectName As String 'Name des Objektes (der View/Tabelle) acType As AcObjectType 'Typ des Objektes. acQuery/acTable action As enuDdlAction 'Aktion des Scripts sql As String 'Das SQL-Statement. Im Falle einer View nur der SELECT-Teil withError As Boolean 'Flag ob ein Fehler aufgetretten ist error As ddlError 'Die Information über ev. Fehler fileName As String 'Name der Datei filePath As String 'Pfad der Datei End Type '/** ' * Statische Funktion importAndRunDdlFile der DdlFileImporter Klasse. ' * Eigentlich währe es eine Sub. Doch um sie in das Autokey-Makro einzubinden muss es eine Funktion sein ' * (Wie hirnrissig. Genau für ausführungen ohen Rückgabewert sind Subs vorgesehen....) ' * @param String Pfad in dem das Dialogfesnter beginnt. Standart: MS Access DB Pfad ' */ Private staticDdlFileImporter As DdlFileImporter Public Function importAndRunDdlFile(Optional ByVal iFolderPath As Variant = Null) If staticDdlFileImporter Is Nothing Then Set staticDdlFileImporter = New DdlFileImporter Call staticDdlFileImporter.importAndRunDdlFile(iFolderPath) End Function