LibreOffice logo
BASEDOCUMENTER
The software tool for documenting your LibreOffice Base applications
 
Database file/home/jean-pierre/Documents/BaseDocumenter/www/databases/Basic/Access2Base.odb
File actual save date2018-07-08 15:24:40
Scanning done on2018-07-08 14:33:10
Documentation generated on2018-07-29 18:22:30
Table of contents
Access2Base
List of modules
Location Library Module name Module type Number of code lines Procedures by module Declaratives
Application Access2BaseDev _License Standard 22  
'      Copyright 2012-2017 Jean-Pierre LEDURE

REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

' Access2Base is distributed in the hope that it will be useful,
' but WITHOUT ANY WARRANTY; without even the implied warranty of
' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

' Access2Base is free software; you can redistribute it and/or modify it under the terms of either (at your option):
'
' 1) The Mozilla Public License, v. 2.0. If a copy of the MPL was not
' distributed with this file, you can obtain one at http://mozilla.org/MPL/2.0/ .
'
' 2) The GNU Lesser General Public License as published by
' the Free Software Foundation, either version 3 of the License, or
' (at your option) any later version. If a copy of the LGPL was not
' distributed with this file, see http://www.gnu.org/licenses/ .
Application Access2BaseDev acConstants Standard 408 vbCr
vbLf
vbNewLine
vbTab
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Explicit

REM Access2Base -----------------------------------------------------
Global Const Access2Base_Version = "1.9.0"

REM AcCloseSave
REM -----------------------------------------------------------------
Global Const acSaveNo = 2
Global Const acSavePrompt = 0
Global Const acSaveYes = 1

REM AcFormView
REM -----------------------------------------------------------------
Global Const acDesign = 1
Global Const acNormal = 0
Global Const acPreview = 2

REM AcFormOpenDataMode
REM -----------------------------------------------------------------
Global Const acFormAdd = 0
Global Const acFormEdit = 1
Global Const acFormPropertySettings = -1
Global Const acFormReadOnly = 2

REM acView
REM -----------------------------------------------------------------
Global Const acViewDesign = 1
Global Const acViewNormal = 0
Global Const acViewPreview = 2

REM acOpenDataMode
REM -----------------------------------------------------------------
Global Const acAdd = 0
Global Const acEdit = 1
Global Const acReadOnly = 2

REM AcObjectType
REM -----------------------------------------------------------------
Global Const acDefault = -1
Global Const acDiagram = 8
Global Const acForm = 2
Global Const acQuery = 1
Global Const acReport = 3
Global Const acTable = 0
' Unexisting in MS/Access
Global Const acBasicIDE = 101
Global Const acDatabaseWindow = 102
Global Const acDocument = 111
Global Const acWelcome = 112
' Subtype if acDocument
Global Const docWriter = "Writer"
Global Const docCalc = "Calc"
Global Const docImpress = "Impress"
Global Const docDraw = "Draw"
Global Const docMath = "Math"

REM AcWindowMode
REM -----------------------------------------------------------------
Global Const acDialog = 3
Global Const acHidden = 1
Global Const acIcon = 2
Global Const acWindowNormal = 0

REM VarType constants
REM -----------------------------------------------------------------
Global Const vbEmpty = 0
Global Const vbNull = 1
Global Const vbInteger = 2
Global Const vbLong = 3
Global Const vbSingle = 4
Global Const vbDouble = 5
Global Const vbCurrency = 6
Global Const vbDate = 7
Global Const vbString = 8
Global Const vbObject = 9
Global Const vbBoolean = 11
Global Const vbVariant = 12
Global Const vbByte = 17
Global Const vbUShort = 18
Global Const vbULong = 19
Global Const vbBigint = 35
Global Const vbDecimal = 37
Global Const vbArray = 8192

REM MsgBox constants
REM -----------------------------------------------------------------
Global Const vbOKOnly = 0 ' OK button only (default)
Global Const vbOKCancel = 1 ' OK and Cancel buttons
Global Const vbAbortRetryIgnore = 2 ' Abort, Retry, and Ignore buttons
Global Const vbYesNoCancel = 3 ' Yes, No, and Cancel buttons
Global Const vbYesNo = 4 ' Yes and No buttons
Global Const vbRetryCancel = 5 ' Retry and Cancel buttons
Global Const vbCritical = 16 ' Critical message
Global Const vbQuestion = 32 ' Warning query
Global Const vbExclamation = 48 ' Warning message
Global Const vbInformation = 64 ' Information message
Global Const vbDefaultButton1 = 128 ' First button is default (default) (VBA: 0)
Global Const vbDefaultButton2 = 256 ' Second button is default
Global Const vbDefaultButton3 = 512 ' Third button is default
Global Const vbApplicationModal = 0 ' Application modal message box (default)
REM MsgBox Return Values
REM -----------------------------------------------------------------
Global Const vbOK = 1 ' OK button pressed
Global Const vbCancel = 2 ' Cancel button pressed
Global Const vbAbort = 3 ' Abort button pressed
Global Const vbRetry = 4 ' Retry button pressed
Global Const vbIgnore = 5 ' Ignore button pressed
Global Const vbYes = 6 ' Yes button pressed
Global Const vbNo = 7 ' No button pressed

REM Dialogs Return Values
REM ------------------------------------------------------------------
Global Const dlgOK = 1 ' OK button pressed
Global Const dlgCancel = 0 ' Cancel button pressed

REM Control Types
REM -----------------------------------------------------------------
Global Const acCheckBox = 5
Global Const acComboBox = 7
Global Const acCommandButton = 2 : Global Const acToggleButton = 122
Global Const acCurrencyField = 18
Global Const acDateField = 15
Global Const acFileControl = 12
Global Const acFixedLine = 24 ' FREE ENTRY (USEFUL IN DIALOGS)
Global Const acFixedText = 10 : Global Const acLabel = 10
Global Const acFormattedField = 1 ' FREE ENTRY TAKEN TO NOT CONFUSE WITH acTextField
Global Const acGridControl = 11
Global Const acGroupBox = 8 : Global Const acOptionGroup = 8
Global Const acHiddenControl = 13
Global Const acImageButton = 4
Global Const acImageControl = 14 : Global Const acImage = 14
Global Const acListBox = 6
Global Const acNavigationBar = 22
Global Const acNumericField = 17
Global Const acPatternField = 19
Global Const acProgressBar = 23 ' FREE ENTRY (USEFUL IN DIALOGS)
Global Const acRadioButton = 3 : Global Const acOptionButton = 3
Global Const acScrollBar = 20
Global Const acSpinButton = 21
Global Const acSubform = 112
Global Const acTextField = 9 : Global Const acTextBox = 9
Global Const acTimeField = 16

REM Record
REM -----------------------------------------------------------------
Global Const acFirst = 2
Global Const acGoTo = 4
Global Const acLast = 3
Global Const acNewRec = 5
Global Const acNext = 1
Global Const acPrevious = 0

REM FindRecord
REM -----------------------------------------------------------------
Global Const acAnywhere = 0
Global Const acEntire = 1
Global Const acStart = 2
Global Const acDown = 1
Global Const acSearchAll = 2
Global Const acUp = 0
Global Const acAll = 0
Global Const acCurrent = -1

REM AcDataObjectType
REM -----------------------------------------------------------------
Global Const acActiveDataObject = -1
Global Const acDataForm = 2
Global Const acDataQuery = 1
Global Const acDataServerView = 7
Global Const acDataStoredProcedure = 9
Global Const acDataTable = 0

REM AcRecord
REM -----------------------------------------------------------------
Global Const acFirst = 2
Global Const acGoTo = 4
Global Const acLast = 3
Global Const acNewRec = 5
Global Const acNext = 1
Global Const acPrevious = 0

REM AcQuitOption
REM -----------------------------------------------------------------
Global Const acQuitPrompt = 0
Global Const acQuitSaveAll = 1
Global Const acQuitSaveNone = 2

REM AcCommand
REM -----------------------------------------------------------------
Global Const acCmdAboutMicrosoftAccess = 35
Global Const acCmdAboutOpenOffice = 35
Global Const acCmdAboutLibreOffice = 35
Global Const acCmdVisualBasicEditor = 525
Global Const acCmdBringToFront = 52
Global Const acCmdClose = 58
Global Const acCmdToolbarsCustomize = 165
Global Const acCmdChangeToCommandButton = 501
Global Const acCmdChangeToCheckBox = 231
Global Const acCmdChangeToComboBox = 230
Global Const acCmdChangeToTextBox = 227
Global Const acCmdChangeToLabel = 228
Global Const acCmdChangeToImage = 234
Global Const acCmdChangeToListBox = 229
Global Const acCmdChangeToOptionButton = 233
Global Const acCmdCopy = 190
Global Const acCmdCut = 189
Global Const acCmdCreateRelationship = 150
Global Const acCmdDelete = 337
Global Const acCmdDatabaseProperties = 256
Global Const acCmdSQLView = 184
Global Const acCmdRemove = 366
Global Const acCmdDesignView = 183
Global Const acCmdFormView = 281
Global Const acCmdNewObjectForm = 136
Global Const acCmdNewObjectTable = 134
Global Const acCmdNewObjectView = 350
Global Const acCmdOpenDatabase = 25
Global Const acCmdRemove = 366
Global Const acCmdDesignView = 183
Global Const acCmdNewObjectQuery = 135
Global Const acCmdShowAllRelationships = 149
Global Const acCmdRemove = 366
Global Const acCmdDesignView = 183
Global Const acCmdNewObjectReport = 137
Global Const acCmdSelectAll = 333
Global Const acCmdRemoveTable = 84
Global Const acCmdDesignView = 183
Global Const acCmdOpenTable = 221
Global Const acCmdRename = 143
Global Const acCmdDelete = 337
Global Const acCmdDeleteRecord = 223
Global Const acCmdApplyFilterSort = 93
Global Const acCmdSnapToGrid = 62
Global Const acCmdViewGrid = 63
Global Const acCmdInsertHyperlink = 259
Global Const acCmdMaximumRecords = 508
Global Const acCmdObjectBrowser = 200
Global Const acCmdPaste = 191
Global Const acCmdPasteSpecial = 64
Global Const acCmdPrint = 340
Global Const acCmdPrintPreview = 54
Global Const acCmdSaveRecord = 97
Global Const acCmdFind = 30
Global Const acCmdUndo = 292
Global Const acCmdRefresh = 18
Global Const acCmdRemoveFilterSort = 144
Global Const acCmdRunMacro = 31
Global Const acCmdSave = 20
Global Const acCmdSaveAs = 21
Global Const acCmdFind = 30
Global Const acCmdSelectAll = 333
Global Const acCmdSelectAllRecords = 109
Global Const acCmdSendToBack = 53
Global Const acCmdSortDescending = 164
Global Const acCmdSortAscending = 163
Global Const acCmdTabOrder = 41
Global Const acCmdDatasheetView = 282
Global Const acCmdZoomSelection = 371

REM AcSendObjectType
REM -----------------------------------------------------------------
Global Const acSendForm = 2
Global Const acSendNoObject = -1
Global Const acSendQuery = 1
Global Const acSendReport = 3
Global Const acSendTable = 0

REM AcOutputObjectType
REM -----------------------------------------------------------------
Global Const acOutputTable = 0
Global Const acOutputQuery = 1
Global Const acOutputForm = 2
Global Const acOutputArray = -1

REM AcEncoding
REM -----------------------------------------------------------------
Global Const acUTF8Encoding = 76

REM AcFormat
REM -----------------------------------------------------------------
Global Const acFormatPDF = "writer_pdf_Export"
Global Const acFormatODT = "writer8"
Global Const acFormatDOC = "MS Word 97"
Global Const acFormatHTML = "HTML"
Global Const acFormatODS = "calc8"
Global Const acFormatXLS = "MS Excel 97"
Global Const acFormatXLSX = "Calc MS Excel 2007 XML"
Global Const acFormatTXT = "Text - txt - csv (StarCalc)"

REM AcExportQuality
REM -----------------------------------------------------------------
Global Const acExportQualityPrint = 0
Global Const acExportQualityScreen = 1

REM AcSysCmdAction
REM -----------------------------------------------------------------
Global Const acSysCmdAccessDir = 9
Global Const acSysCmdAccessVer = 7
Global Const acSysCmdClearHelpTopic = 11
Global Const acSysCmdClearStatus = 5
Global Const acSysCmdGetObjectState = 10
Global Const acSysCmdGetWorkgroupFile = 13
Global Const acSysCmdIniFile = 8
Global Const acSysCmdInitMeter = 1
Global Const acSysCmdProfile = 12
Global Const acSysCmdRemoveMeter = 3
Global Const acSysCmdRuntime = 6
Global Const acSysCmdSetStatus = 4
Global Const acSysCmdUpdateMeter = 2

REM Type property
REM -----------------------------------------------------------------
Global Const dbBigInt = 16
Global Const dbBinary = 9
Global Const dbBoolean = 1
Global Const dbByte = 2
Global Const dbChar = 18
Global Const dbCurrency = 5
Global Const dbDate = 8
Global Const dbDecimal = 20
Global Const dbDouble = 7
Global Const dbFloat = 21
Global Const dbGUID = 15
Global Const dbInteger = 3
Global Const dbLong = 4
Global Const dbLongBinary = 11 ' (OLE Object)
Global Const dbMemo= 12
Global Const dbNumeric = 19
Global Const dbSingle = 6
Global Const dbText = 10
Global Const dbTime = 22
Global Const dbTimeStamp = 23
Global Const dbVarBinary = 17
Global Const dbUndefined = -1

REM Attributes property
REM -----------------------------------------------------------------
Global Const dbAutoIncrField = 16
Global Const dbDescending = 1
Global Const dbFixedField = 1
Global Const dbHyperlinkField = 32768
Global Const dbSystemField = 8192
Global Const dbUpdatableField = 32
Global Const dbVariableField = 2

REM OpenRecordset
REM -----------------------------------------------------------------
Global Const dbOpenForwardOnly = 8
Global Const dbSQLPassThrough = 64
Global Const dbReadOnly = 4

REM Query types
REM -----------------------------------------------------------------
Global Const dbQAction = 240
Global Const dbQAppend = 64
Global Const dbQDDL = 4 '96
Global Const dbQDelete = 32
Global Const dbQMakeTable = 128 '80
Global Const dbQSelect = 0
Global Const dbQSetOperation = 8 '128
Global Const dbQSQLPassThrough = 1 '112
Global Const dbQUpdate = 16 '48

REM Edit mode
REM -----------------------------------------------------------------
Global Const dbEditNone = 0
Global Const dbEditInProgress = 1
Global Const dbEditAdd = 2

REM Toolbars
REM -----------------------------------------------------------------
Global Const msoBarTypeNormal = 0 ' Usual toolbar
Global Const msoBarTypeMenuBar = 1 ' Menu bar
Global Const msoBarTypePopup = 2 ' Shortcut menu
Global Const msoBarTypeStatusBar = 11 ' Status bar
Global Const msoBarTypeFloater = 12 ' Floating window

Global Const msoControlButton = 1 ' Command button
Global Const msoControlPopup = 10 ' Popup, submenu
Application Access2BaseDev Application Standard 1640 _CountOpenForms
_CurrentDb
_NewBar
_NewCommandBar
_RootInit
AllDialogs
AllForms
AllModules
CloseConnection
CommandBars
Controls
CurrentDb
CurrentUser
DAvg
DCount
DLookup
DMax
DMin
DStDev
DStDevP
DSum
DVar
DVarP
Events
Forms
HtmlEncode
OpenConnection
OpenDatabase
ProductCode
SysCmd
TempVars
Version
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Explicit

REM -----------------------------------------------------------------------------------------------------------------------
Global Const TRACEDEBUG = "DEBUG" ' To report values of variables
Global Const TRACEINFO = "INFO" ' To report any event
Global Const TRACEWARNING = "WARNING" ' To report some abnormal event
Global Const TRACEERRORS = "ERROR" ' To report user errors - Default value
Global Const TRACEFATAL = "FATAL" ' To report programmer errors - f.i. Wrong argument
Global Const TRACEABORT = "ABORT" ' To report Access2Base internal errors
Global Const TRACEANY = "===>" ' Always reported
' ERRORs, FATALs and ABORTs are also displayed in a MsgBox (except on specific request)
' FATALs and ABORTs interrupt the program execution

Global Const ERRINIT = 1500
Global Const ERRDBNOTCONNECTED = 1501
Global Const ERRMISSINGARGUMENTS = 1502
Global Const ERRWRONGARGUMENT = 1503
Global Const ERRMAINFORM = 1504
Global Const ERRMETHOD = 1505
Global Const ERRFILEACCESS = 1506
Global Const ERRFORMNOTIDENTIFIED = 1507
Global Const ERRFORMNOTFOUND = 1508
Global Const ERRFORMNOTOPEN = 1509
Global Const ERRDFUNCTION = 1510
Global Const ERROPENFORM = 1511
Global Const ERRPROPERTY = 1512
Global Const ERRPROPERTYVALUE = 1513
Global Const ERRINDEXVALUE = 1514
Global Const ERRCOLLECTION = 1515
Global Const ERRPROPERTYNOTARRAY = 1516
Global Const ERRCONTROLNOTFOUND = 1517
Global Const ERRNOACTIVEFORM = 1518
Global Const ERRDATABASEFORM = 1519
Global Const ERRFOCUSINGRID = 1520
Global Const ERRNOGRIDINFORM = 1521
Global Const ERRFINDRECORD = 1522
Global Const ERRSQLSTATEMENT = 1523
Global Const ERROBJECTNOTFOUND = 1524
Global Const ERROPENOBJECT = 1525
Global Const ERRCLOSEOBJECT = 1526
Global Const ERRMETHOD = 1527
Global Const ERRACTION = 1528
Global Const ERRSENDMAIL = 1529
Global Const ERRFORMYETOPEN = 1530
Global Const ERRPROPERTYINIT = 1531
Global Const ERRFILENOTCREATED = 1532
Global Const ERRDIALOGNOTFOUND = 1533
Global Const ERRDIALOGUNDEFINED = 1534
Global Const ERRDIALOGSTARTED = 1535
Global Const ERRDIALOGNOTSTARTED = 1536
Global Const ERRRECORDSETNODATA = 1537
Global Const ERRRECORDSETCLOSED = 1538
Global Const ERRRECORDSETRANGE = 1539
Global Const ERRRECORDSETFORWARD = 1540
Global Const ERRFIELDNULL = 1541
Global Const ERROVERFLOW = 1542
Global Const ERRNOTACTIONQUERY = 1543
Global Const ERRNOTUPDATABLE = 1544
Global Const ERRUPDATESEQUENCE = 1545
Global Const ERRNOTNULLABLE = 1546
Global Const ERRROWDELETED = 1547
Global Const ERRRECORDSETCLONE = 1548
Global Const ERRQUERYDEFDELETED = 1549
Global Const ERRTABLEDEFDELETED = 1550
Global Const ERRTABLECREATION = 1551
Global Const ERRFIELDCREATION = 1552
Global Const ERRSUBFORMNOTFOUND = 1553
Global Const ERRWINDOW = 1554
Global Const ERRCOMPATIBILITY = 1555
Global Const ERRPRECISION = 1556
Global Const ERRMODULENOTFOUND = 1557
Global Const ERRPROCEDURENOTFOUND = 1558

REM -----------------------------------------------------------------------------------------------------------------------
Global Const DBCONNECTBASE = 1 ' Connection from Base document (OpenConnection)
Global Const DBCONNECTFORM = 2 ' Connection from a database-aware form (OpenConnection)
Global Const DBCONNECTANY = 3 ' Connection from any document for data access only (OpenDatabase)

REM -----------------------------------------------------------------------------------------------------------------------
Global Const DBMS_UNKNOWN = 0
Global Const DBMS_HSQLDB1 = 1
Global Const DBMS_HSQLDB2 = 2
Global Const DBMS_FIREBIRD = 3
Global Const DBMS_MSACCESS2003 = 4
Global Const DBMS_MSACCESS2007 = 5
Global Const DBMS_MYSQL = 6
Global Const DBMS_POSTGRES = 7
Global Const DBMS_SQLITE = 8

REM -----------------------------------------------------------------------------------------------------------------------
Global Const COLLALLDIALOGS = "ALLDIALOGS"
Global Const COLLALLFORMS = "ALLFORMS"
Global Const COLLALLMODULES = "ALLMODULES"
Global Const COLLCOMMANDBARS = "COMMANDBARS"
Global Const COLLCOMMANDBARCONTROLS = "COMMANDBARCONTROLS"
Global Const COLLCONTROLS = "CONTROLS"
Global Const COLLFORMS = "FORMS"
Global Const COLLFIELDS = "FIELDS"
Global Const COLLPROPERTIES = "PROPERTIES"
Global Const COLLQUERYDEFS = "QUERYDEFS"
Global Const COLLRECORDSETS = "RECORDSETS"
Global Const COLLTABLEDEFS = "TABLEDEFS"
Global Const COLLTEMPVARS = "TEMPVARS"

REM -----------------------------------------------------------------------------------------------------------------------
Global Const OBJAPPLICATION = "APPLICATION"
Global Const OBJCOLLECTION = "COLLECTION"
Global Const OBJCOMMANDBAR = "COMMANDBAR"
Global Const OBJCOMMANDBARCONTROL = "COMMANDBARCONTROL"
Global Const OBJCONTROL = "CONTROL"
Global Const OBJDATABASE = "DATABASE"
Global Const OBJDIALOG = "DIALOG"
Global Const OBJEVENT = "EVENT"
Global Const OBJFIELD = "FIELD"
Global Const OBJFORM = "FORM"
Global Const OBJMODULE = "MODULE"
Global Const OBJOPTIONGROUP = "OPTIONGROUP"
Global Const OBJPROPERTY = "PROPERTY"
Global Const OBJQUERYDEF = "QUERYDEF"
Global Const OBJRECORDSET = "RECORDSET"
Global Const OBJSUBFORM = "SUBFORM"
Global Const OBJTABLEDEF = "TABLEDEF"
Global Const OBJTEMPVAR = "TEMPVAR"

REM -----------------------------------------------------------------------------------------------------------------------
Global Const CTLCONTROL = "CONTROL" ' ClassId
Global Const CTLCHECKBOX = "CHECKBOX" ' 5
Global Const CTLCOMBOBOX = "COMBOBOX" ' 7
Global Const CTLCOMMANDBUTTON = "COMMANDBUTTON" ' 2
Global Const CTLCURRENCYFIELD = "CURRENCYFIELD" ' 18
Global Const CTLDATEFIELD = "DATEFIELD" ' 15
Global Const CTLFILECONTROL = "FILECONTROL" ' 12
Global Const CTLFIXEDTEXT = "FIXEDTEXT" ' 10
Global Const CTLGRIDCONTROL = "GRIDCONTROL" ' 11
Global Const CTLGROUPBOX = "GROUPBOX" ' 8
Global Const CTLHIDDENCONTROL = "HIDDENCONTROL" ' 13
Global Const CTLIMAGEBUTTON = "IMAGEBUTTON" ' 4
Global Const CTLIMAGECONTROL = "IMAGECONTROL" ' 14
Global Const CTLLISTBOX = "LISTBOX" ' 6
Global Const CTLNAVIGATIONBAR = "NAVIGATIONBAR" ' 22
Global Const CTLNUMERICFIELD = "NUMERICFIELD" ' 17
Global Const CTLPATTERNFIELD = "PATTERNFIELD" ' 19
Global Const CTLRADIOBUTTON = "RADIOBUTTON" ' 3
Global Const CTLSCROLLBAR = "SCROLLBAR" ' 20
Global Const CTLSPINBUTTON = "SPINBUTTON" ' 21
Global Const CTLTEXTFIELD = "TEXTFIELD" ' 9
Global Const CTLTIMEFIELD = "TIMEFIELD" ' 16
REM -----------------------------------------------------------------------------------------------------------------------
Global Const CTLFORMATTEDFIELD = "FORMATTEDFIELD" ' 9 (idem TextField)
Global Const CTLFIXEDLINE = "FIXEDLINE" ' 24 (forced)
Global Const CTLPROGRESSBAR = "PROGRESSBAR" ' 23 (forced)
Global Const CTLSUBFORM = "SUBFORMCONTROL" ' None
REM -----------------------------------------------------------------------------------------------------------------------
Global Const CTLPARENTISFORM = "FORM"
Global Const CTLPARENTISDIALOG = "DIALOG"
Global Const CTLPARENTISSUBFORM = "SUBFORM"
Global Const CTLPARENTISGRID = "GRID"
Global Const CTLPARENTISGROUP = "OPTIONGROUP"

REM -----------------------------------------------------------------------------------------------------------------------
Global Const MODDOCUMENT = "DOCUMENT"
Global Const MODGLOBAL = "GLOBAL"

REM -----------------------------------------------------------------------------------------------------------------------
Type DocContainer
Document As Object ' com.sun.star.comp.dba.ODatabaseDocument or SwXTextDocument or ScModelObj
Active As Boolean
DbConnect As Integer ' DBCONNECTxxx constants
URL As String
DbContainers() As Variant ' One entry by (data-aware) form
End Type

Type DbContainer
FormName As String ' name of data-aware form
Database As Object ' Database type
End Type
Application Access2BaseDev Collect Class 425 _PropertiesList
_PropertyGet
Add
Class_Initialize
Class_Terminate
Count
Delete
Dispose
getProperty
hasProperty
Item
ObjectType
Properties
Remove
RemoveAll
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Compatible
Option ClassModule

Option Explicit

REM MODULE NAME <> COLLECTION (is a reserved name for ... collections)

REM -----------------------------------------------------------------------------------------------------------------------
REM --- CLASS ROOT FIELDS ---
REM -----------------------------------------------------------------------------------------------------------------------

Private _Type As String ' Must be COLLECTION
Private _CollType As String
Private _ParentType As String
Private _ParentName As String ' Name or shortcut
Private _ParentDatabase As Object
Private _Count As Long
Application Access2BaseDev CommandBar Class 382 _FindElement
_PropertiesList
_PropertyGet
_PropertySet
BuiltIn
Class_Initialize
Class_Terminate
CommandBarControls
Controls
Dispose
getProperty
hasProperty
Name
ObjectType
pName
Properties
Reset
Visible
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Compatible
Option ClassModule

Option Explicit

REM -----------------------------------------------------------------------------------------------------------------------
REM --- CLASS ROOT FIELDS ---
REM -----------------------------------------------------------------------------------------------------------------------

Private _Type As String ' Must be COMMANDBAR
Private _Name As String
Private _ResourceURL As String
Private _Window As Object ' com.sun.star.frame.XFrame
Private _Module As String
Private _Toolbar As Object
Private _BarBuiltin As Integer ' 1 = builtin, 2 = custom stored in LO/AOO (Base), 3 = custom stored in document (Form)
Private _BarType As Integer ' See msoBarTypeXxx constants
Application Access2BaseDev CommandBarControl Class 332 _PropertiesList
_PropertyGet
_PropertySet
BeginGroup
BuiltIn
Caption
Class_Initialize
Class_Terminate
Dispose
Execute
getProperty
hasProperty
Index
ObjectType
OnAction
Parent
Properties
pType
TooltipText
Visible
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Compatible
Option ClassModule

Option Explicit

REM -----------------------------------------------------------------------------------------------------------------------
REM --- CLASS ROOT FIELDS ---
REM -----------------------------------------------------------------------------------------------------------------------

Private _Type As String ' Must be COMMANDBARCONTROL
Private _InternalIndex As Integer ' Index in toolbar including separators
Private _Index As Integer ' Index in collection, starting at 1 !!
Private _ControlType As Integer ' 1 of the msoControl* constants
Private _ParentCommandBarName As String
Private _ParentCommandBar As Object ' com.sun.star.ui.XUIElement
Private _ParentBuiltin As Boolean
Private _Element As Variant
Private _BeginGroup As Boolean
Application Access2BaseDev Compatible Standard 47 DebugPrint
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Compatible
Option Explicit
Application Access2BaseDev Control Class 2490 _Formats
_GetListener
_Initialize
_ListboxBound
_PropertiesList
_PropertyGet
_PropertySet
AddItem
BackColor
BorderColor
BorderStyle
Cancel
Caption
Class_Initialize
Class_Terminate
Controls
ControlSource
ControlTipText
ControlType
Default
DefaultValue
Dispose
Enabled
FontBold
FontItalic
FontName
FontSize
FontUnderline
FontWeight
ForeColor
Form
Format
getProperty
hasProperty
ItemData
ListCount
ListIndex
Locked
MultiSelect
Name
ObjectType
OnActionPerformed
OnAdjustmentValueChanged
OnApproveAction
OnApproveReset
OnApproveUpdate
OnChanged
OnErrorOccurred
OnFocusGained
OnFocusLost
OnItemStateChanged
OnKeyPressed
OnKeyReleased
OnMouseDragged
OnMouseEntered
OnMouseExited
OnMouseMoved
OnMousePressed
OnMouseReleased
OnResetted
OnTextChanged
OnUpdated
OptionValue
Page
Parent
Picture
pName
Properties
pText
RemoveItem
Requery
Required
RowSource
RowSourceType
Selected
SelectedI
SelLength
SelStart
SelText
setFocus
setProperty
SpecialEffect
SubType
TabIndex
TabStop
Tag
Text
TextAlign
TripleState
Value
Visible
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Compatible
Option ClassModule

Option Explicit

REM -----------------------------------------------------------------------------------------------------------------------
REM --- CLASS ROOT FIELDS ---
REM -----------------------------------------------------------------------------------------------------------------------

Private _Type As String ' Must be CONTROL
Private _ImplementationName As String
Private _ClassId As Integer
Private _ParentType As String ' One of CTLPARENTISxxxx constants
Private _Shortcut As String
Private _Name As String
Private _FormComponent As Object ' com.sun.star.text.TextDocument
Private _MainForm As String ' To be propagated to all subcontrols
Private _DocEntry As Integer ' Doc- and DbContainer entries in Root structure
Private _DbEntry As Integer
Private _ControlType As Integer
Private _ThisProperties As Variant ' Buffer for properties list
Private _SubType As String
Private ControlModel As Object ' com.sun.star.comp.forms.XXXModel
Private ControlView As Object ' com.sun.star.comp.forms.XXXControl (NULL if form open in edit mode)
Private BoundField As Object ' com.sun.star.sdb.ODataColumn
Private LabelControl As Object ' com.sun.star.form.component.FixedText or com.sun.star.form.component.GroupBox
Application Access2BaseDev Database Class 1862 _DFunction
_FilterOptionsDefault
_hasRecordset
_LoadMetadata
_OutputBinaryToHTML
_OutputBooleanToHTML
_OutputClassToHTML
_OutputDataToHTML
_OutputDateToHTML
_OutputNullToHTML
_OutputNumberToHTML
_OutputStringToHTML
_OutputToCalc
_OutputToHTML
_PropertiesList
_PropertyGet
_ReplaceSquareBrackets
Class_Initialize
Class_Terminate
CloseAllRecordsets
Connect
CreateQueryDef
CreateTableDef
DAvg
DCount
Dispose
DLookup
DMax
DMin
DStDev
DStDevP
DSum
DVar
DVarP
getProperty
hasProperty
mClose
Name
ObjectType
OnCreate
OnFocus
OnLoad
OnLoadFinished
OnModifyChanged
OnNew
OnPrepareUnload
OnPrepareViewClosing
OnSave
OnSaveAs
OnSaveAsDone
OnSaveAsFailed
OnSaveDone
OnSaveFailed
OnSubComponentClosed
OnSubComponentOpened
OnTitleChanged
OnUnfocus
OnUnload
OnViewClosed
OnViewCreated
OpenRecordset
OpenSQL
OutputTo
Properties
QueryDefs
Recordsets
RunSQL
TableDefs
Version
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Compatible
Option ClassModule

Option Explicit

REM -----------------------------------------------------------------------------------------------------------------------
REM --- CLASS ROOT FIELDS ---
REM -----------------------------------------------------------------------------------------------------------------------

Private _Type As String ' Must be DATABASE
Private _This As Object ' Workaround for absence of This builtin function
Private _DbConnect As Integer ' DBCONNECTxxx constants
Private Title As String
Private Document As Object ' com.sun.star.comp.dba.ODatabaseDocument or SwXTextDocument or ScModelObj
Private Connection As Object ' com.sun.star.sdbc.drivers.OConnectionWrapper or com.sun.star.sdbc.XConnection
Private URL As String
Private _ReadOnly As Boolean
Private MetaData As Object ' interface XDatabaseMetaData
Private _RDBMS As Integer ' DBMS constants
Private _ColumnTypes() As Variant ' Part of Metadata.GetTypeInfo()
Private _ColumnTypeNames() As Variant
Private _ColumnPrecisions() As Variant
Private _ColumnTypesReference() As Variant
Private _ColumnTypesAlias() As Variant ' To what should a field whose origin is another DBMS be converted ? See DataTypes By RDBMS.ods
Private _BinaryStream As Boolean ' False = binary fields must NOT be streamed f.i. via ReadAllBytes or WriteAllBytes
Private Form As Object ' com.sun.star.form.XForm
Private FormName As String
Private RecordsetMax As Integer
Private RecordsetsColl As Object ' Collection of active recordsets
Application Access2BaseDev DataDef Class 579 _PropertiesList
_PropertyGet
_PropertySet
Class_Initialize
Class_Terminate
CreateField
Dispose
Execute
Fields
getProperty
hasProperty
Name
ObjectType
OpenRecordset
Properties
pType
setProperty
SQL
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Compatible
Option ClassModule

Option Explicit

REM -----------------------------------------------------------------------------------------------------------------------
REM --- CLASS ROOT FIELDS ---
REM -----------------------------------------------------------------------------------------------------------------------

Private _Type As String ' Must be TABLEDEF or QUERYDEF
Private _Name As String ' For tables: [[Catalog.]Schema.]Table
Private _ParentDatabase As Object
Private _ReadOnly As Boolean
Private Table As Object ' com.sun.star.sdb.dbaccess.ODBTable
Private CatalogName As String
Private SchemaName As String
Private TableName As String
Private Query As Object ' com.sun.star.sdb.dbaccess.OQuery
Private TableDescriptor As Object ' com.sun.star.sdb.dbaccess.ODBTable
Private TableFieldsCount As Integer
Private TableKeysCount As Integer
Application Access2BaseDev Dialog Class 802 _GetListener
_PropertiesList
_PropertyGet
_PropertySet
Caption
Class_Initialize
Class_Terminate
Controls
Dispose
EndExecute
Execute
getProperty
hasProperty
Height
IsLoaded
Move
Name
ObjectType
OnFocusGained
OnFocusLost
OnKeyPressed
OnKeyReleased
OnMouseDragged
OnMouseEntered
OnMouseExited
OnMouseMoved
OnMousePressed
OnMouseReleased
OptionGroup
Page
pName
Properties
setProperty
Start
Terminate
Visible
Width
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Compatible
Option ClassModule

Option Explicit

REM -----------------------------------------------------------------------------------------------------------------------
REM --- CLASS ROOT FIELDS ---
REM -----------------------------------------------------------------------------------------------------------------------

Private _Type As String ' Must be DIALOG
Private _Name As String
Private _Shortcut As String
Private _Dialog As Object ' com.sun.star.io.XInputStreamProvider
Private _Storage As String ' GLOBAL or DOCUMENT
Private _Library As String
Private UnoDialog As Object ' com.sun.star.awt.XControl
Application Access2BaseDev DoCmd Standard 2652 _CheckColumnType
_ConvertDataDescriptor
_DatabaseForm
_DispatchCommand
_getUpperShortcut
_OpenObject
_PromptFormat
_SelectWindow
_SendWithAttachment
_SendWithoutAttachment
_ShellExecute
ApplyFilter
CopyObject
FindNext
FindRecord
GetHiddenAttribute
GoToControl
GoToRecord
Maximize
mClose
Minimize
MoveSize
OpenForm
OpenQuery
OpenReport
OpenSQL
OpenTable
OutputTo
Quit
RunApp
RunCommand
RunSQL
SelectObject
SendObject
SetHiddenAttribute
SetOrderBy
ShowAllrecords
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Explicit

Type _FindParams
FindRecord As Integer ' Set to 1 at first invocation of FindRecord
FindWhat As Variant
Match As Integer
MatchCase As Boolean
Search As Integer
SearchAsFormatted As Boolean ' Must be False
FindFirst As Boolean
OnlyCurrentField As Integer
Form As String ' Shortcut
GridControl As String ' Shortcut
Target As String ' Shortcut
LastRow As Long ' Last row explored - 0 = before first
LastColumn As Integer ' Last column explored - 0 ... N-1 index in next arrays; 0 if OnlyCurrentField = acCurrent
ColumnNames() As String ' Array of column names in grid with boundfield and of same type as FindWhat
ResultSetIndex() As Integer ' Array of column numbers in ResultSet
End Type

Type _Window
Frame As Object ' com.sun.star.comp.framework.Frame
_Name As String ' Object Name
WindowType As Integer ' One of the object types
DocumentType As String ' Writer, Calc, ... - Only if WindowType = acDocument
End Type

REM VBA allows call to actions with missing arguments e.g. OpenForm("aaa",,"[field]=2")
REM in StarBasic IsMissing requires Variant parameters
Application Access2BaseDev Event Class 495 _Initialize
_PropertiesList
_PropertyGet
ButtonLeft
ButtonMiddle
ButtonRight
Class_Initialize
Class_Terminate
ClickCount
ContextShortcut
Dispose
EventName
EventSource
EventType
FocusChangeTemporary
getProperty
hasProperty
KeyAlt
KeyChar
KeyCode
KeyCtrl
KeyFunction
KeyShift
ObjectType
Properties
Recommendation
RowChangeAction
Source
SubComponentName
SubComponentType
XPos
YPos
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Compatible
Option ClassModule

Option Explicit

REM -----------------------------------------------------------------------------------------------------------------------
REM --- CLASS ROOT FIELDS ---
REM -----------------------------------------------------------------------------------------------------------------------

Private _Type As String ' Must be EVENT
Private _EventSource As Object
Private _EventType As String
Private _EventName As String
Private _SubComponentName As String
Private _SubComponentType As Long
Private _ContextShortcut As String
Private _ButtonLeft As Boolean ' com.sun.star.awt.MouseButton.XXX
Private _ButtonRight As Boolean
Private _ButtonMiddle As Boolean
Private _XPos As Variant ' Null or Long
Private _YPos As Variant ' Null or Long
Private _ClickCount As Long
Private _KeyCode As Integer ' com.sun.star.awt.Key.XXX
Private _KeyChar As String
Private _KeyFunction As Integer ' com.sun.star.awt.KeyFunction.XXX
Private _KeyAlt As Boolean
Private _KeyCtrl As Boolean
Private _KeyShift As Boolean
Private _FocusChangeTemporary As Boolean ' False if user action in same window
Private _RowChangeAction As Long ' com.sun.star.sdb.RowChangeAction.XXX
Private _Recommendation As String ' "IGNORE" or ""
Application Access2BaseDev Field Class 916 _PropertiesList
_PropertyGet
_PropertySet
_ReadAll
_WriteAll
AppendChunk
Class_Initialize
Class_Terminate
DataType
DataUpdatable
DbType
DefaultValue
Description
Dispose
FieldSize
GetChunk
getProperty
hasProperty
Name
ObjectType
Properties
ReadAllBytes
ReadAllText
setProperty
Size
SourceField
SourceTable
TypeName
Value
WriteAllBytes
WriteAllText
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Compatible
Option ClassModule

Option Explicit

REM -----------------------------------------------------------------------------------------------------------------------
REM --- CLASS ROOT FIELDS ---
REM -----------------------------------------------------------------------------------------------------------------------

Private _Type As String ' Must be FIELD
Private _Name As String
Private _Precision As Long
Private _ParentName As String
Private _ParentType As String
Private _ParentDatabase As Object
Private _ParentRecordset As Object
Private _DefaultValue As String
Private _DefaultValueSet As Boolean
Private Column As Object ' com.sun.star.sdb.OTableColumnWrapper
' or org.openoffice.comp.dbaccess.OQueryColumn
' or com.sun.star.sdb.ODataColumn
Application Access2BaseDev Form Class 1114 _GetListener
_Initialize
_PropertiesList
_PropertyGet
_PropertySet
AllowAdditions
AllowDeletions
AllowEdits
Bookmark
Caption
Class_Initialize
Class_Terminate
Controls
CurrentDb
CurrentRecord
Dispose
Filter
FilterOn
getProperty
hasProperty
Height
IsLoaded
mClose
Move
Name
ObjectType
OnApproveCursorMove
OnApproveParameter
OnApproveReset
OnApproveRowChange
OnApproveSubmit
OnConfirmDelete
OnCursorMoved
OnErrorOccurred
OnLoaded
OnReloaded
OnReloading
OnResetted
OnRowChanged
OnUnloaded
OnUnloading
OpenArgs
OptionGroup
OrderBy
OrderByOn
pName
Properties
Recordset
RecordSource
Refresh
Requery
setFocus
setProperty
Visible
Width
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Compatible
Option ClassModule

Option Explicit

REM -----------------------------------------------------------------------------------------------------------------------
REM --- CLASS ROOT FIELDS ---
REM -----------------------------------------------------------------------------------------------------------------------

Private _Type As String ' Must be FORM
Private _Shortcut As String
Private _Name As String
Private _DocEntry As Integer ' Doc- and DbContainer entries in Root structure
Private _DbEntry As Integer
Private _MainForms As Variant
Private _IsLoaded As Boolean
Private _OpenArgs As Variant
Private _OrderBy As String
Public Component As Object ' com.sun.star.text.TextDocument
Public ContainerWindow As Object ' (No name)
Public FormsCollection As Object ' com.sun.star.form.OFormsCollection
Public DatabaseForm As Object ' com.sun.star.form.component.DataForm and com.sun.star.sdb.ResultSet (a.o.)
Application Access2BaseDev L10N Standard 537 _GetLabel
_GetLabelArray
_GetLocale
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Explicit

REM -----------------------------------------------------------------------------------------------------------------------
REM --- PRIVATE FUNCTIONS ---
REM -----------------------------------------------------------------------------------------------------------------------
Application Access2BaseDev Methods Standard 296 _OptionGroup
AddItem
hasProperty
Move
OpenHelpFile
Properties
Refresh
RemoveItem
Requery
SetFocus
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Explicit
Application Access2BaseDev Module Class 715 _BeginStatement
_EndStatement
_FindPattern
_FindProcIndex
_Initialize
_LineOfPosition
_ParseProcs
_PositionOfLine
_PropertiesList
_PropertyGet
Class_Initialize
Class_Terminate
CountOfDeclarationLines
CountOfLines
Dispose
Find
getProperty
hasProperty
Lines
Name
ObjectType
ProcBodyLine
ProcCountLines
ProcOfLine
ProcStartLine
Properties
pType
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Compatible
Option ClassModule

Option Explicit

REM -----------------------------------------------------------------------------------------------------------------------
REM --- CLASS ROOT FIELDS ---
REM -----------------------------------------------------------------------------------------------------------------------

Private _Type As String ' Must be MODULE
Private _Name As String
Private _Library As Object ' com.sun.star.container.XNameAccess
Private _LibraryName As String
Private _Storage As String ' GLOBAL or DOCUMENT
Private _Script As String ' Full script (string with vbLf's)
Private _Lines As Variant ' Array of script lines
Private _CountOfLines As Long
Private _ProcsParsed As Boolean ' To test before use of proc arrays
Private _ProcNames() As Variant ' All procedure names
Private _ProcDecPositions() As Variant ' All procedure declarations
Private _ProcEndPositions() As Variant ' All end procedure statements
Private _ProcTypes() As Variant ' One of the vbext_pk_* constants
Document Standard Module1 Standard 6 DBOpen  
Application Access2BaseDev OptionGroup Class 305 _PropertiesList
_PropertyGet
_PropertySet
Class_Initialize
Class_Terminate
Controls
Count
Dispose
getProperty
hasProperty
Name
ObjectType
pName
Properties
setProperty
Value
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Compatible
Option ClassModule

Option Explicit

REM -----------------------------------------------------------------------------------------------------------------------
REM --- CLASS ROOT FIELDS ---
REM -----------------------------------------------------------------------------------------------------------------------

Private _Type As String ' Must be FORM
Private _Name As String
Private _ParentType As String
Private _ParentComponent As Object
Private _MainForm As String
Private _DocEntry As Integer
Private _DbEntry As Integer
Private _ButtonsGroup() As Variant
Private _ButtonsIndex() As Variant
Private _Count As Long
Application Access2BaseDev PropertiesGet Standard 1214 _getProperty
_hasProperty
_ParentObject
_Properties
_PropertiesList
getAbsolutePosition
getAllowAdditions
getAllowDeletions
getAllowEdits
getBackColor
getBeginGroup
getBOF
getBookmark
getBookmarkable
getBorderColor
getBorderStyle
getBuiltIn
getButtonLeft
getButtonMiddle
getButtonRight
getCancel
getCaption
getClickCount
getContextShortcut
getControlSource
getControlTipText
getControlType
getCount
getCurrentRecord
getDataType
getDbType
getDefault
getDefaultValue
getDescription
getEditMode
getEnabled
getEOF
getEventName
getEventType
getFieldSize
getFilter
getFilterOn
getFocusChangeTemporary
getFontBold
getFontItalic
getFontName
getFontSize
getFontUnderline
getFontWeight
getForeColor
getForm
getFormat
getHeight
getIsLoaded
getItemData
getKeyAlt
getKeyChar
getKeyCode
getKeyCtrl
getKeyFunction
getKeyShift
getLinkChildFields
getLinkMasterFields
getListCount
getListIndex
getLocked
getMultiSelect
getName
getObject
getObjectType
getOpenArgs
getOptionGroup
getOptionValue
getOrderBy
getOrderByOn
getPage
getParent
getProperty
getRecommendation
getRecordCount
getRecordset
getRecordSource
getRequired
getRowChangeAction
getRowSource
getRowSourceType
getSelected
getSize
getSource
getSourceField
getSourceTable
getSpecialEffect
getSubComponentName
getSubComponentType
getSubType
getTabIndex
getTabStop
getTag
getText
getTextAlign
getTooltipText
getTripleState
getTypeName
getValue
getVisible
getWidth
getXPos
getYPos
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Explicit
Application Access2BaseDev PropertiesSet Standard 592 _CheckProperty
_setProperty
setAbsolutePosition
setAllowAdditions
setAllowDeletions
setAllowEdits
setBackColor
setBookmark
setBorderColor
setBorderStyle
setCancel
setCaption
setControlTipText
setCurrentRecord
setDefault
setDefaultValue
setDescription
setEnabled
setFilter
setFilterOn
setFontBold
setFontItalic
setFontName
setFontSize
setFontUnderline
setFontWeight
setForeColor
setHeight
setListIndex
setLocked
setMultiSelect
setOnAction
setOptionValue
setOrderBy
setOrderByOn
setPage
setProperty
setRecordSource
setRequired
setRowSource
setRowSourceType
setSelected
setSelLength
setSelStart
setSelText
setSpecialEffect
setTabIndex
setTabStop
setTag
setTextAlign
setTooltipText
setTripleState
setValue
setVisible
setWidth
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Explicit
Application Access2BaseDev Property Class 145 _PropertiesList
_PropertyGet
Class_Initialize
Class_Terminate
Dispose
getProperty
hasProperty
Name
ObjectType
pName
Properties
Value
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Compatible
Option ClassModule

Option Explicit

REM -----------------------------------------------------------------------------------------------------------------------
REM --- CLASS ROOT FIELDS ---
REM -----------------------------------------------------------------------------------------------------------------------

Private _Type As String ' Must be PROPERTY
Private _Name As String
Private _Value As Variant
Private _ParentDatabase As Object
Application Access2BaseDev Recordset Class 1263 _AppendChunk
_AppendChunkClose
_AppendChunkInit
_Initialize
_Move
_PropertiesList
_PropertyGet
_PropertySet
AbsolutePosition
AddNew
BOF
Bookmark
Bookmarkable
CancelUpdate
Class_Initialize
Class_Terminate
Clone
Delete
Edit
EditMode
EOF
Fields
Filter
getProperty
GetRows
hasProperty
LastModified
mClose
Move
MoveFirst
MoveLast
MoveNext
MovePrevious
Name
ObjectType
OpenRecordset
Properties
RecordCount
setProperty
Update
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Compatible
Option ClassModule

Option Explicit

REM -----------------------------------------------------------------------------------------------------------------------
REM --- CLASS ROOT FIELDS ---
REM -----------------------------------------------------------------------------------------------------------------------

Private _Type As String ' Must be RECORDSET
Private _Name As String ' Unique, generated
Private _This As Object
Private _Fields() As Variant
Private _ParentName As String
Private _ParentType As String
Private _ParentDatabase As Object
Private _ForwardOnly As Boolean
Private _PassThrough As Boolean
Private _ReadOnly As Boolean
Private _CommandType As Long
Private _Command As String
Private _DataSet As Boolean ' True if execute() successful
Private _BOF As Boolean
Private _EOF As Boolean
Private _Filter As String
Private _EditMode As Integer ' dbEditxxx constants
Private _BookmarkBeforeNew As Variant
Private _BookmarkLastModified As Variant
Private _IsClone As Boolean
Private _ManageChunks As Variant ' Array of ChunkDescriptors
Private RowSet As Object ' com.sun.star.comp.dba.ORowSet

Type ChunkDescriptor
ChunksRequested As Boolean
FieldName As String
ChunkType As Integer ' vbString or vbByte
FileName As String
FileHandler As Object
End Type
Application Access2BaseDev Root_ Class 286 _CurrentDb
Class_Initialize
Class_Terminate
CloseConnection
CurrentDb
CurrentDocIndex
CurrentDocument
Dispose
Dump
hasItem
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Compatible
Option ClassModule

Option Explicit

REM -----------------------------------------------------------------------------------------------------------------------
REM --- FOR INTERNAL USE ONLY ---
REM -----------------------------------------------------------------------------------------------------------------------

REM -----------------------------------------------------------------------------------------------------------------------
REM --- CLASS ROOT FIELDS ---
REM -----------------------------------------------------------------------------------------------------------------------

Private ErrorHandler As Boolean
Private MinimalTraceLevel As Integer
Private TraceLogs() As Variant
Private TraceLogCount As Integer
Private TraceLogLast As Integer
Private TraceLogMaxEntries As Integer
Private CalledSub As String
Private DebugPrintShort As Boolean
Private Introspection As Object ' com.sun.star.beans.Introspection
Private VersionNumber As String ' Actual Access2Base version number
Private Locale As String
Private ExcludeA2B As Boolean
Private TextSearch As Object
Private SearchOptions As Variant
Private FindRecord As Object
Private StatusBar As Object
Private Dialogs As Object ' Collection
Private TempVars As Object ' Collection
Private CurrentDoc() As Variant ' Array of document containers - [0] = Base document, [1 ... N] = other documents
Application Access2BaseDev SubForm Class 747 _GetListener
_PropertiesList
_PropertyGet
_PropertySet
AllowAdditions
AllowDeletions
AllowEdits
Class_Initialize
Class_Terminate
Controls
CurrentRecord
Dispose
Filter
FilterOn
getProperty
hasProperty
LinkChildFields
LinkMasterFields
Name
ObjectType
OnApproveCursorMove
OnApproveParameter
OnApproveReset
OnApproveRowChange
OnApproveSubmit
OnConfirmDelete
OnCursorMoved
OnErrorOccurred
OnLoaded
OnReloaded
OnReloading
OnResetted
OnRowChanged
OnUnloaded
OnUnloading
OptionGroup
OrderBy
OrderByOn
Parent
pName
Properties
Recordset
RecordSource
Refresh
Requery
setProperty
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Compatible
Option ClassModule

Option Explicit

REM -----------------------------------------------------------------------------------------------------------------------
REM --- CLASS ROOT FIELDS ---
REM -----------------------------------------------------------------------------------------------------------------------

Private _Type As String ' Must be SUBFORM
Private _Shortcut As String
Private _Name As String
Private _MainForm As String
Private _DocEntry As Integer
Private _DbEntry As Integer
Private _OrderBy As String
Public ParentComponent As Object ' com.sun.star.text.TextDocument
Public DatabaseForm As Object ' com.sun.star.form.component.DataForm and com.sun.star.sdb.ResultSet (a.o.)
Application Access2BaseDev TempVar Class 190 _PropertiesList
_PropertyGet
_PropertySet
Class_Initialize
Class_Terminate
Dispose
getProperty
hasProperty
Name
ObjectType
Properties
setProperty
Value
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Compatible
Option ClassModule

Option Explicit

REM -----------------------------------------------------------------------------------------------------------------------
REM --- CLASS ROOT FIELDS ---
REM -----------------------------------------------------------------------------------------------------------------------

Private _Type As String ' Must be TEMPVAR
Private _Name As String
Private _Value As Variant
Application Access2BaseDev Test Standard 12 Main
Option Explicit
'Option Compatible
Application Access2BaseDev Trace Standard 401 _DumpToFile
_ErrorHandler
_ErrorMessage
_PromptFilePicker
_TraceArguments
_TraceLevel
TraceConsole
TraceError
TraceLevel
TraceLog
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Explicit

Public Const cstLogMaxEntries = 20

REM Typical Usage
REM TraceLog("INFO", "The OK button was pressed")
REM
REM Typical Usage for error logging
REM Sub MySub()
REM On Local Error GoTo Error_Sub
REM ...
REM Exit_Sub:
REM Exit Sub
REM Error_Sub:
REM TraceError("ERROR", Err, "MySub", Erl)
REM GoTo Exit_Sub
REM End Sub
REM
REM To display the current logged traces and/or to set parameters
REM TraceConsole()
Application Access2BaseDev UtilProperty Standard 328 _CheckPropertyValue
_DeleteIndexedProperty
_DeleteProperty
_FindProperty
_FindPropertyIndex
_GetPropertyValue
_MakePropertyValue
_NumPropertyValues
_PropValuesToStr
_SetPropertyValue
_StrToPropValues
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

'**********************************************************************
' UtilProperty module
'
' Module of utilities to manipulate arrays of PropertyValue's.
'**********************************************************************

'**********************************************************************
' Copyright (c) 2003-2004 Danny Brewer
' d29583@groovegarden.com
'**********************************************************************

'**********************************************************************
' If you make changes, please append to the change log below.
'
' Change Log
' Danny Brewer Revised 2004-02-25-01
' Jean-Pierre Ledure Adapted to Access2Base coding conventions
' PropValuesToStr rewritten and addition of StrToPropValues
' Bug corrected on date values
' Addition of support of 2-dimensional arrays
' Support of empty arrays to allow JSON conversions
'**********************************************************************

Option Explicit

Private Const cstHEADER = "### PROPERTYVALUES ###"
Private Const cstEMPTYARRAY = "### EMPTY ARRAY ###"
Application Access2BaseDev Utils Standard 1296 _AddArray
_AddNumeric
_BitShift
_CalledSub
_CheckArgument
_CStr
_CVar
_DecimalPoint
_ExtensionLocation
_FinalProperty
_GetDialogLib
_GetEventName
_GetEventScriptCode
_GetProductName
_GetRandomFileName
_GetRegistryKeyContent
_GetResultSetColumnValue
_getTempDirectoryURL
_getUNOTypeName
_hasUNOMethod
_hasUNOProperty
_ImplementationName
_InList
_InspectPropertyType
_IsBinaryType
_IsLeft
_IsPseudo
_IsScalar
_PCase
_PercentEncode
_ReadFileIntoArray
_RegexSearch
_RegisterDialogEventScript
_RegisterEventScript
_ResetCalledSub
_RunScript
_SetCalledSub
_Surround
_Trim
_TrimArray
_UpdateResultSetColumnValue
_URLEncode
_UTF8Encode
REM =======================================================================================================================
REM === The Access2Base library is a part of the LibreOffice project. ===
REM === Full documentation is available on http://www.access2base.com ===
REM =======================================================================================================================

Option Explicit

Global _A2B_ As Variant

REM -----------------------------------------------------------------------------------------------------------------------
REM --- PRIVATE FUNCTIONS ---
REM -----------------------------------------------------------------------------------------------------------------------