bump product version to 5.0.4.1
[LibreOffice.git] / wizards / source / access2base / PropertiesGet.xba
blob273617ca9ab8cc2ea9936b6ab7eeda5d7e57f428
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
3 <script:module xmlns:script="http://openoffice.org/2000/script" script:name="PropertiesGet" script:language="StarBasic">REM =======================================================================================================================
4 REM === The Access2Base library is a part of the LibreOffice project. ===
5 REM === Full documentation is available on http://www.access2base.com ===
6 REM =======================================================================================================================
8 Option Explicit
10 REM -----------------------------------------------------------------------------------------------------------------------
11 Public Function getAbsolutePosition(Optional pvObject As Variant) As Boolean
12 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getAbsolutePosition&quot;)
13 getAbsolutePosition = PropertiesGet._getProperty(pvObject, &quot;AbsolutePosition&quot;)
14 End Function &apos; getAbsolutePosition
16 REM -----------------------------------------------------------------------------------------------------------------------
17 Public Function getAllowAdditions(Optional pvObject As Variant) As Boolean
18 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getAllowAdditions&quot;)
19 getAllowAdditions = PropertiesGet._getProperty(pvObject, &quot;AllowAdditions&quot;)
20 End Function &apos; getAllowAdditions
22 REM -----------------------------------------------------------------------------------------------------------------------
23 Public Function getAllowDeletions(Optional pvObject As Variant) As Boolean
24 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getAllowDeletions&quot;)
25 getAllowDeletions = PropertiesGet._getProperty(pvObject, &quot;AllowDeletions&quot;)
26 End Function &apos; getAllowDeletions
28 REM -----------------------------------------------------------------------------------------------------------------------
29 Public Function getAllowEdits(Optional pvObject As Variant) As Boolean
30 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getAllowEdits&quot;)
31 getAllowEdits = PropertiesGet._getProperty(pvObject, &quot;AllowEdits&quot;)
32 End Function &apos; getAllowEdits
34 REM -----------------------------------------------------------------------------------------------------------------------
35 Public Function getBackColor(Optional pvObject As Variant) As Variant
36 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getBackColor&quot;)
37 getBackColor = PropertiesGet._getProperty(pvObject, &quot;BackColor&quot;)
38 End Function &apos; getBackColor
40 REM -----------------------------------------------------------------------------------------------------------------------
41 Public Function getBeginGroup(Optional pvObject As Variant) As Variant
42 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getBeginGroup&quot;)
43 getBeginGroup = PropertiesGet._getProperty(pvObject, &quot;BeginGroup&quot;)
44 End Function &apos; getBeginGroup
46 REM -----------------------------------------------------------------------------------------------------------------------
47 Public Function getBOF(Optional pvObject As Variant) As Variant
48 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getBOF&quot;)
49 getBOF = PropertiesGet._getProperty(pvObject, &quot;BOF&quot;)
50 End Function &apos; getBOF
52 REM -----------------------------------------------------------------------------------------------------------------------
53 Public Function getBookmark(Optional pvObject As Variant) As Variant
54 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getBookmark&quot;)
55 getBookmark = PropertiesGet._getProperty(pvObject, &quot;Bookmark&quot;)
56 End Function &apos; getBookmark
58 REM -----------------------------------------------------------------------------------------------------------------------
59 Public Function getBookmarkable(Optional pvObject As Variant) As Variant
60 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getBookmarkable&quot;)
61 getBookmarkable = PropertiesGet._getProperty(pvObject, &quot;Bookmarkable&quot;)
62 End Function &apos; getBookmarkable
64 REM -----------------------------------------------------------------------------------------------------------------------
65 Public Function getBorderColor(Optional pvObject As Variant) As Variant
66 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getBorderColor&quot;)
67 getBorderColor = PropertiesGet._getProperty(pvObject, &quot;BorderColor&quot;)
68 End Function &apos; getBorderColor
70 REM -----------------------------------------------------------------------------------------------------------------------
71 Public Function getBorderStyle(Optional pvObject As Variant) As Variant
72 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getBorderStyle&quot;)
73 getBorderStyle = PropertiesGet._getProperty(pvObject, &quot;BorderStyle&quot;)
74 End Function &apos; getBorderStyle
76 REM -----------------------------------------------------------------------------------------------------------------------
77 Public Function getBuiltIn(Optional pvObject As Variant) As Boolean
78 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getBuiltIn&quot;)
79 getBuiltIn = PropertiesGet._getProperty(pvObject, &quot;BuiltIn&quot;)
80 End Function &apos; getBuiltIn
82 REM -----------------------------------------------------------------------------------------------------------------------
83 Public Function getButtonLeft(Optional pvObject As Variant) As Boolean
84 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getButtonLeft&quot;)
85 getButtonLeft = PropertiesGet._getProperty(pvObject, &quot;ButtonLeft&quot;)
86 End Function &apos; getButtonLeft
88 REM -----------------------------------------------------------------------------------------------------------------------
89 Public Function getButtonMiddle(Optional pvObject As Variant) As Boolean
90 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getButtonMiddle&quot;)
91 getButtonMiddle = PropertiesGet._getProperty(pvObject, &quot;ButtonMiddle&quot;)
92 End Function &apos; getButtonMiddle
94 REM -----------------------------------------------------------------------------------------------------------------------
95 Public Function getButtonRight(Optional pvObject As Variant) As Boolean
96 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getButtonRight&quot;)
97 getButtonRight = PropertiesGet._getProperty(pvObject, &quot;ButtonRight&quot;)
98 End Function &apos; getButtonRight
100 REM -----------------------------------------------------------------------------------------------------------------------
101 Public Function getCancel(Optional pvObject As Variant) As Variant
102 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getCancel&quot;)
103 getCancel = PropertiesGet._getProperty(pvObject, &quot;Cancel&quot;)
104 End Function &apos; getCancel
106 REM -----------------------------------------------------------------------------------------------------------------------
107 Public Function getCaption(Optional pvObject As Variant) As Variant
108 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getCaption&quot;)
109 getCaption = PropertiesGet._getProperty(pvObject, &quot;Caption&quot;)
110 End Function &apos; getCaption
112 REM -----------------------------------------------------------------------------------------------------------------------
113 Public Function getClickCount(Optional pvObject As Variant) As Long
114 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getClickCount&quot;)
115 getClickCount = PropertiesGet._getProperty(pvObject, &quot;ClickCount&quot;)
116 End Function &apos; getClickCount
118 REM -----------------------------------------------------------------------------------------------------------------------
119 Public Function getContextShortcut(Optional pvObject As Variant) As String
120 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getContextShortcut&quot;)
121 getContextShortcut = PropertiesGet._getProperty(pvObject, &quot;ContextShortcut&quot;)
122 End Function &apos; getContextShortcut
124 REM -----------------------------------------------------------------------------------------------------------------------
125 Public Function getControlSource(Optional pvObject As Variant) As Variant
126 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getControlSource&quot;)
127 getControlSource = PropertiesGet._getProperty(pvObject, &quot;ControlSource&quot;)
128 End Function &apos; getControlSource
130 REM -----------------------------------------------------------------------------------------------------------------------
131 Public Function getControlTipText(Optional pvObject As Variant) As Variant
132 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getControlTipText&quot;)
133 getControlTipText = PropertiesGet._getProperty(pvObject, &quot;ControlTipText&quot;)
134 End Function &apos; getControlTipText
136 REM -----------------------------------------------------------------------------------------------------------------------
137 Public Function getControlType(Optional pvObject As Variant) As Integer
138 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getControlType&quot;)
139 getControlType = PropertiesGet._getProperty(pvObject, &quot;ControlType&quot;)
140 End Function &apos; getControlType
142 REM -----------------------------------------------------------------------------------------------------------------------
143 Public Function getCount(Optional pvObject As Variant) As Integer
144 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getCount&quot;)
145 getCount = PropertiesGet._getProperty(pvObject, &quot;Count&quot;)
146 End Function &apos; getCount
148 REM -----------------------------------------------------------------------------------------------------------------------
149 Public Function getCurrentRecord(Optional pvObject As Variant) As Variant
150 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getCurrentRecord&quot;)
151 getCurrentRecord = PropertiesGet._getProperty(pvObject, &quot;CurrentRecord&quot;)
152 End Function &apos; getCurrentRecord
154 REM -----------------------------------------------------------------------------------------------------------------------
155 Public Function getDataType(Optional pvObject As Variant) As Variant
156 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getDataType&quot;)
157 getDataType = PropertiesGet._getProperty(pvObject, &quot;DataType&quot;)
158 End Function &apos; getDataType
160 REM -----------------------------------------------------------------------------------------------------------------------
161 Public Function getDbType(Optional pvObject As Variant) As Variant
162 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getDbType&quot;)
163 getDbType = PropertiesGet._getProperty(pvObject, &quot;DbType&quot;)
164 End Function &apos; getDbType
166 REM -----------------------------------------------------------------------------------------------------------------------
167 Public Function getDefault(Optional pvObject As Variant) As Variant
168 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getDefault&quot;)
169 getDefault = PropertiesGet._getProperty(pvObject, &quot;Default&quot;)
170 End Function &apos; getDefault
172 REM -----------------------------------------------------------------------------------------------------------------------
173 Public Function getDefaultValue(Optional pvObject As Variant) As Variant
174 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getDefaultValue&quot;)
175 getDefaultValue = PropertiesGet._getProperty(pvObject, &quot;DefaultValue&quot;)
176 End Function &apos; getDefaultValue
178 REM -----------------------------------------------------------------------------------------------------------------------
179 Public Function getDescription(Optional pvObject As Variant) As Variant
180 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getDescription&quot;)
181 getDescription = PropertiesGet._getProperty(pvObject, &quot;Description&quot;)
182 End Function &apos; getDescription
184 REM -----------------------------------------------------------------------------------------------------------------------
185 Public Function getEditMode(Optional pvObject As Variant) As Variant
186 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getEditMode&quot;)
187 getEditMode = PropertiesGet._getProperty(pvObject, &quot;EditMode&quot;)
188 End Function &apos; getEditMode
190 REM -----------------------------------------------------------------------------------------------------------------------
191 Public Function getEnabled(Optional pvObject As Variant) As Variant
192 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getEnabled&quot;)
193 getEnabled = PropertiesGet._getProperty(pvObject, &quot;Enabled&quot;)
194 End Function &apos; getEnabled
196 REM -----------------------------------------------------------------------------------------------------------------------
197 Public Function getEOF(Optional pvObject As Variant) As Variant
198 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getEOF&quot;)
199 getEOF = PropertiesGet._getProperty(pvObject, &quot;EOF&quot;)
200 End Function &apos; getEOF
202 REM -----------------------------------------------------------------------------------------------------------------------
203 Public Function getEventName(Optional pvObject As Variant) As String
204 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getEventName&quot;)
205 getEventName = PropertiesGet._getProperty(pvObject, &quot;EventName&quot;)
206 End Function &apos; getEventName
208 REM -----------------------------------------------------------------------------------------------------------------------
209 Public Function getEventType(Optional pvObject As Variant) As String
210 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getEventType&quot;)
211 getEventType = PropertiesGet._getProperty(pvObject, &quot;EventType&quot;)
212 End Function &apos; getEventType
214 REM -----------------------------------------------------------------------------------------------------------------------
215 Public Function getFieldSize(Optional pvObject As Variant) As Variant
216 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getFieldSize&quot;)
217 getFieldSize = PropertiesGet._getProperty(pvObject, &quot;FieldSize&quot;)
218 End Function &apos; getFieldSize
220 REM -----------------------------------------------------------------------------------------------------------------------
221 Public Function getFilter(Optional pvObject As Variant) As String
222 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getFilter&quot;)
223 getFilter = PropertiesGet._getProperty(pvObject, &quot;Filter&quot;)
224 End Function &apos; getFilter
226 REM -----------------------------------------------------------------------------------------------------------------------
227 Public Function getFilterOn(Optional pvObject As Variant) As Boolean
228 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getFilterOn&quot;)
229 getFilterOn = PropertiesGet._getProperty(pvObject, &quot;FilterOn&quot;)
230 End Function &apos; getFilterOn
232 REM -----------------------------------------------------------------------------------------------------------------------
233 Public Function getFocusChangeTemporary(Optional pvObject As Variant) As Boolean
234 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getFocusChangeTemporary&quot;)
235 getFocusChangeTemporary = PropertiesGet._getProperty(pvObject, &quot;FocusChangeTemporary&quot;)
236 End Function &apos; getFocusChangeTemporary
238 REM -----------------------------------------------------------------------------------------------------------------------
239 Public Function getFontBold(Optional pvObject As Variant) As Variant
240 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getFontBold&quot;)
241 getFontBold = PropertiesGet._getProperty(pvObject, &quot;FontBold&quot;)
242 End Function &apos; getFontBold
244 REM -----------------------------------------------------------------------------------------------------------------------
245 Public Function getFontItalic(Optional pvObject As Variant) As Variant
246 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getFontItalic&quot;)
247 getFontItalic = PropertiesGet._getProperty(pvObject, &quot;FontItalic&quot;)
248 End Function &apos; getFontItalic
250 REM -----------------------------------------------------------------------------------------------------------------------
251 Public Function getFontName(Optional pvObject As Variant) As Variant
252 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getFontName&quot;)
253 getFontName = PropertiesGet._getProperty(pvObject, &quot;FontName&quot;)
254 End Function &apos; getFontName
256 REM -----------------------------------------------------------------------------------------------------------------------
257 Public Function getFontSize(Optional pvObject As Variant) As Variant
258 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getFontSize&quot;)
259 getFontSize = PropertiesGet._getProperty(pvObject, &quot;FontSize&quot;)
260 End Function &apos; getFontSize
262 REM -----------------------------------------------------------------------------------------------------------------------
263 Public Function getFontUnderline(Optional pvObject As Variant) As Variant
264 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getFontUnderline&quot;)
265 getFontUnderline = PropertiesGet._getProperty(pvObject, &quot;FontUnderline&quot;)
266 End Function &apos; getFontUnderline
268 REM -----------------------------------------------------------------------------------------------------------------------
269 Public Function getFontWeight(Optional pvObject As Variant) As Variant
270 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getFontWeight&quot;)
271 getFontWeight = PropertiesGet._getProperty(pvObject, &quot;FontWeight&quot;)
272 End Function &apos; getFontWeight
274 REM -----------------------------------------------------------------------------------------------------------------------
275 Public Function getForm(Optional pvObject As Variant) As Variant &apos; Return Subform pseudo
276 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getForm&quot;)
277 getForm = PropertiesGet._getProperty(pvObject, &quot;Form&quot;)
278 End Function &apos; getForm
280 REM -----------------------------------------------------------------------------------------------------------------------
281 Public Function getFormat(Optional pvObject As Variant) As Variant
282 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getFormat&quot;)
283 getFormat = PropertiesGet._getProperty(pvObject, &quot;Format&quot;)
284 End Function &apos; getFormat
286 REM -----------------------------------------------------------------------------------------------------------------------
287 Public Function getHeight(Optional pvObject As Variant) As Long
288 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getHeight&quot;)
289 getHeight = PropertiesGet._getProperty(pvObject, &quot;Height&quot;)
290 End Function &apos; getHeight
292 REM -----------------------------------------------------------------------------------------------------------------------
293 Public Function getForeColor(Optional pvObject As Variant) As Variant
294 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getForeColor&quot;)
295 getForeColor = PropertiesGet._getProperty(pvObject, &quot;ForeColor&quot;)
296 End Function &apos; getForeColor
298 REM -----------------------------------------------------------------------------------------------------------------------
299 Public Function getIsLoaded(Optional pvObject As Variant) As Boolean
300 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getIsLoaded&quot;)
301 getIsLoaded = PropertiesGet._getProperty(pvObject, &quot;IsLoaded&quot;)
302 End Function &apos; getIsLoaded
304 REM -----------------------------------------------------------------------------------------------------------------------
305 Public Function getItemData(Optional pvObject As Variant, ByVal Optional pvIndex As Variant) As Variant
306 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getItemData&quot;)
307 If IsMissing(pvIndex) Then
308 getItemData = PropertiesGet._getProperty(pvObject, &quot;ItemData&quot;)
309 Else
310 getItemData = PropertiesGet._getProperty(pvObject, &quot;ItemData&quot;, pvIndex)
311 End If
312 End Function &apos; getItemData
314 REM -----------------------------------------------------------------------------------------------------------------------
315 Public Function getKeyAlt(Optional pvObject As Variant) As Boolean
316 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getKeyAlt&quot;)
317 getKeyAlt = PropertiesGet._getProperty(pvObject, &quot;KeyAlt&quot;)
318 End Function &apos; getKeyAlt
320 REM -----------------------------------------------------------------------------------------------------------------------
321 Public Function getKeyChar(Optional pvObject As Variant) As String
322 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getKeyChar&quot;)
323 getKeyChar = PropertiesGet._getProperty(pvObject, &quot;KeyChar&quot;)
324 End Function &apos; getKeyChar
326 REM -----------------------------------------------------------------------------------------------------------------------
327 Public Function getKeyCode(Optional pvObject As Variant) As Integer
328 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getKeyCode&quot;)
329 getKeyCode = PropertiesGet._getProperty(pvObject, &quot;KeyCode&quot;)
330 End Function &apos; getKeyCode
332 REM -----------------------------------------------------------------------------------------------------------------------
333 Public Function getKeyCtrl(Optional pvObject As Variant) As Boolean
334 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getKeyCtrl&quot;)
335 getKeyCtrl = PropertiesGet._getProperty(pvObject, &quot;KeyCtrl&quot;)
336 End Function &apos; getKeyCtrl
338 REM -----------------------------------------------------------------------------------------------------------------------
339 Public Function getKeyFunction(Optional pvObject As Variant) As Integer
340 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getKeyFunction&quot;)
341 getKeyFunction = PropertiesGet._getProperty(pvObject, &quot;KeyFunction&quot;)
342 End Function &apos; getKeyFunction
344 REM -----------------------------------------------------------------------------------------------------------------------
345 Public Function getKeyShift(pvObject As Variant) As Boolean
346 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getKeyShift&quot;)
347 getKeyShift = PropertiesGet._getProperty(pvObject, &quot;KeyShift&quot;)
348 End Function &apos; getKeyShift
350 REM -----------------------------------------------------------------------------------------------------------------------
351 Public Function getLinkChildFields(Optional pvObject As Variant, ByVal Optional pvIndex As Variant) As Variant
352 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getLinkChildFields&quot;)
353 If IsMissing(pvObject) Then
354 getLinkChildFields = PropertiesGet._getProperty(pvObject, &quot;LinkChildFields&quot;)
355 Else
356 getLinkChildFields = PropertiesGet._getProperty(pvObject, &quot;LinkChildFields&quot;, pvIndex)
357 End If
358 End Function &apos; getLinkChildFields
360 REM -----------------------------------------------------------------------------------------------------------------------
361 Public Function getLinkMasterFields(Optional pvObject As Variant, ByVal Optional pvIndex As Variant) As Variant
362 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getLinkMasterFields&quot;)
363 If IsMissing(pvIndex) Then
364 getLinkMasterFields = PropertiesGet._getProperty(pvObject, &quot;LinkMasterFields&quot;)
365 Else
366 getLinkMasterFields = PropertiesGet._getProperty(pvObject, &quot;LinkMasterFields&quot;, pvIndex)
367 End If
368 End Function &apos; getLinkMasterFields
370 REM -----------------------------------------------------------------------------------------------------------------------
371 Public Function getListCount(Optional pvObject As Variant) As Variant
372 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getListCount&quot;)
373 getListCount = PropertiesGet._getProperty(pvObject, &quot;ListCount&quot;)
374 End Function &apos; getListCount
376 REM -----------------------------------------------------------------------------------------------------------------------
377 Public Function getListIndex(Optional pvObject As Variant) As Variant
378 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getListIndex&quot;)
379 getListIndex = PropertiesGet._getProperty(pvObject, &quot;ListIndex&quot;)
380 End Function &apos; getListIndex
382 REM -----------------------------------------------------------------------------------------------------------------------
383 Public Function getLocked(Optional pvObject As Variant) As Variant
384 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getLocked&quot;)
385 getLocked = PropertiesGet._getProperty(pvObject, &quot;Locked&quot;)
386 End Function &apos; getLocked
388 REM -----------------------------------------------------------------------------------------------------------------------
389 Public Function getMultiSelect(Optional pvObject As Variant) As Variant
390 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getMultiSelect&quot;)
391 getMultiSelect = PropertiesGet._getProperty(pvObject, &quot;MultiSelect&quot;)
392 End Function &apos; getMultiSelect
394 REM -----------------------------------------------------------------------------------------------------------------------
395 Public Function getName(Optional pvObject As Variant) As String
396 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getName&quot;)
397 getName = PropertiesGet._getProperty(pvObject, &quot;Name&quot;)
398 End Function &apos; getName
400 REM -----------------------------------------------------------------------------------------------------------------------
401 Public Function getObject(Optional pvShortcut As Variant) As Variant
402 &apos; Return the object described by pvShortcut ignoring its final property
403 &apos; Example: &quot;Forms!myForm!myControl.myProperty&quot; =&gt; Controls(Forms(&quot;myForm&quot;), &quot;myControl&quot;))
405 Const cstEXCLAMATION = &quot;!&quot;
406 Const cstDOT = &quot;.&quot;
408 If _ErrorHandler() Then On Local Error Goto Error_Function
409 Const cstThisSub = &quot;getObject&quot;
410 Utils._SetCalledSub(cstThisSub)
411 If IsMissing(pvShortcut) Then Call _TraceArguments()
412 If Not Utils._CheckArgument(pvShortcut, 1, vbString) Then Goto Exit_Function
414 Dim iCurrentIndex As Integer, vCurrentObject As Variant, sCurrentProperty As String
415 Dim sComponents() As String, sSubComponents() As String, sDialog As String
416 Dim oDoc As Object
417 Set vCurrentObject = Nothing
418 sComponents = Split(Trim(pvShortcut), cstEXCLAMATION)
419 If UBound(sComponents) = 0 Then Goto Trace_Error
420 If Not Utils._InList(UCase(sComponents(0)), Array(&quot;FORMS&quot;, &quot;DIALOGS&quot;, &quot;TEMPVARS&quot;)) Then Goto Trace_Error
421 If sComponents(1) = &quot;0&quot; Or Left(sComponents(1), 2) = &quot;0.&quot; Then
422 Set oDoc = _A2B_.CurrentDocument()
423 If oDoc.DbConnect = DBCONNECTFORM Then sComponents(1) = oDoc.DbContainers(0).FormName Else Goto Trace_Error
424 End If
426 sSubComponents = Split(sComponents(UBound(sComponents)), cstDOT)
427 sComponents(UBound(sComponents)) = sSubComponents(0) &apos; Ignore final property, if any
429 Set vCurrentObject = New Collect
430 Select Case UCase(sComponents(0))
431 Case &quot;FORMS&quot; : vCurrentObject._CollType = COLLFORMS
432 Case &quot;DIALOGS&quot; : vCurrentObject._CollType = COLLALLDIALOGS
433 Case &quot;TEMPVARS&quot; : vCurrentObject._CollType = COLLTEMPVARS
434 End Select
435 For iCurrentIndex = 1 To UBound(sComponents) &apos; Start parsing ...
436 sSubComponents = Split(sComponents(iCurrentIndex), cstDOT)
437 sComponents(iCurrentIndex) = Utils._Trim(sSubComponents(0))
438 Select Case UBound(sSubComponents)
439 Case 0
440 sCurrentProperty = &quot;&quot;
441 Case 1
442 sCurrentProperty = sSubComponents(1)
443 Case Else
444 Goto Trace_Error
445 End Select
446 Select Case vCurrentObject._Type
447 Case OBJCOLLECTION
448 Select Case vCurrentObject._CollType
449 Case COLLFORMS
450 vCurrentObject = Application.Forms(sComponents(iCurrentIndex))
451 Case COLLALLDIALOGS
452 sDialog = UCase(sComponents(iCurrentIndex))
453 vCurrentObject = Application.AllDialogs(sDialog)
454 If Not vCurrentObject.IsLoaded Then Goto Trace_Error
455 Set vCurrentObject.UnoDialog = _A2B_.Dialogs.Item(sDialog)
456 Case COLLTEMPVARS
457 If UBound(sComponents) &gt; 1 Then Goto Trace_Error
458 vCurrentObject = Application.TempVars(sComponents(1))
459 &apos;Case Else
460 End Select
461 Case OBJFORM, OBJSUBFORM, OBJCONTROL, OBJDIALOG
462 vCurrentObject = vCurrentObject.Controls(sComponents(iCurrentIndex))
463 End Select
464 If sCurrentProperty &lt;&gt; &quot;&quot; Then vCurrentObject = PropertiesGet._getProperty(vCurrentObject, sCurrentProperty)
465 Next iCurrentIndex
467 Set getObject = vCurrentObject
469 Exit_Function:
470 Utils._ResetCalledSub(cstThisSub)
471 Exit Function
472 Trace_Error:
473 TraceError(TRACEFATAL, ERRWRONGARGUMENT, Utils._CalledSub(), 0, , Array(1, pvShortcut))
474 Goto Exit_Function
475 Error_Function:
476 TraceError(TRACEABORT, Err, cstThisSub, Erl)
477 GoTo Exit_Function
478 End Function &apos; getObject V0.9.5
480 REM -----------------------------------------------------------------------------------------------------------------------
481 Public Function getObjectType(Optional pvObject As Variant) As String
482 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getObjectType&quot;)
483 getObjectType = PropertiesGet._getProperty(pvObject, &quot;ObjectType&quot;)
484 End Function &apos; getObjectType
486 REM -----------------------------------------------------------------------------------------------------------------------
487 Public Function getOpenArgs(Optional pvObject As Variant) As String
488 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getOpenArgs&quot;)
489 getOpenArgs = PropertiesGet._getProperty(pvObject, &quot;OpenArgs&quot;)
490 End Function &apos; getOpenArgs
492 REM -----------------------------------------------------------------------------------------------------------------------
493 Public Function getOptionGroup(Optional pvObject As Variant, pvName As variant) As Variant
494 &apos; Return an OptionGroup object based on its name
496 Utils._SetCalledSub(&quot;getOptionGroup&quot;)
497 If IsMissing(pvObject) Or IsMissing(pvName) Then Call _TraceArguments()
498 If _ErrorHandler() Then On Local Error Goto Error_Function
500 If Not Utils._CheckArgument(pvObject, 1, Array(OBJFORM, OBJSUBFORM)) Then Goto Exit_Function
501 If Not Utils._CheckArgument(pvName, 2, vbString) Then Goto Exit_Function
503 getOptionGroup = pvObject.OptionGroup(pvName)
505 Exit_Function:
506 Utils._ResetCalledSub(&quot;getOptionGroup&quot;)
507 Exit Function
508 Error_Function:
509 TraceError(TRACEABORT, Err, &quot;getOptionGroup&quot;, Erl)
510 GoTo Exit_Function
511 End Function &apos; getOptionGroup V0.9.0
513 REM -----------------------------------------------------------------------------------------------------------------------
514 Public Function getOptionValue(Optional pvObject As Variant) As String
515 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getOptionValue&quot;)
516 getOptionValue = PropertiesGet._getProperty(pvObject, &quot;OptionValue&quot;)
517 End Function &apos; getOptionValue
519 REM -----------------------------------------------------------------------------------------------------------------------
520 Public Function getOrderBy(Optional pvObject As Variant) As String
521 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getOrderBy&quot;)
522 getOrderBy = PropertiesGet._getProperty(pvObject, &quot;OrderBy&quot;)
523 End Function &apos; getOrderBy
525 REM -----------------------------------------------------------------------------------------------------------------------
526 Public Function getOrderByOn(Optional pvObject As Variant) As Boolean
527 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getOrderByOn&quot;)
528 getOrderByOn = PropertiesGet._getProperty(pvObject, &quot;OrderByOn&quot;)
529 End Function &apos; getOrderByOn
531 REM -----------------------------------------------------------------------------------------------------------------------
532 Public Function getPage(Optional pvObject As Variant) As String
533 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getPage&quot;)
534 getPage = PropertiesGet._getProperty(pvObject, &quot;Page&quot;)
535 End Function &apos; getPage V0.9.1
537 REM -----------------------------------------------------------------------------------------------------------------------
538 Public Function getParent(Optional pvObject As Variant) As String
539 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getParent&quot;)
540 getParent = PropertiesGet._getProperty(pvObject, &quot;Parent&quot;)
541 End Function &apos; getParent V0.9.0
543 REM -----------------------------------------------------------------------------------------------------------------------
544 Public Function getProperty(Optional pvItem As Variant, Optional ByVal pvProperty As Variant, ByVal Optional pvIndex As Variant) As Variant
545 &apos; Return property value of object pvItem, and psProperty property name
546 Utils._SetCalledSub(&quot;getProperty&quot;)
547 If IsMissing(pvItem) Then Call _TraceArguments()
548 If IsMissing(pvProperty) Then Call _TraceArguments()
549 If IsMissing(pvIndex) Then getProperty = PropertiesGet._getProperty(pvItem, pvProperty) Else getProperty = PropertiesGet._getProperty(pvItem, pvProperty, pvIndex)
550 Utils._ResetCalledSub(&quot;getProperty&quot;)
551 End Function &apos; getProperty
553 REM -----------------------------------------------------------------------------------------------------------------------
554 Public Function getRecommendation(Optional pvObject As Variant) As Variant
555 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getRecommendation&quot;)
556 getRecommendation = PropertiesGet._getProperty(pvObject, &quot;Recommendation&quot;)
557 End Function &apos; getRecommendation
559 REM -----------------------------------------------------------------------------------------------------------------------
560 Public Function getRecordCount(Optional pvObject As Variant) As Variant
561 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getRecordCount&quot;)
562 getRecordCount = PropertiesGet._getProperty(pvObject, &quot;RecordCount&quot;)
563 End Function &apos; getRecordCount
565 REM -----------------------------------------------------------------------------------------------------------------------
566 Public Function getRecordset(Optional pvObject As Variant) As String
567 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getRecordset&quot;)
568 getRecordset = PropertiesGet._getProperty(pvObject, &quot;Recordset&quot;)
569 End Function &apos; getRecordset V0.9.5
571 REM -----------------------------------------------------------------------------------------------------------------------
572 Public Function getRecordSource(Optional pvObject As Variant) As Variant
573 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getRecordSource&quot;)
574 getRecordSource = PropertiesGet._getProperty(pvObject, &quot;RecordSource&quot;)
575 End Function &apos; getRecordSource
577 REM -----------------------------------------------------------------------------------------------------------------------
578 Public Function getRequired(Optional pvObject As Variant) As Variant
579 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getRequired&quot;)
580 getRequired = PropertiesGet._getProperty(pvObject, &quot;Required&quot;)
581 End Function &apos; getRequired
583 REM -----------------------------------------------------------------------------------------------------------------------
584 Public Function getRowChangeAction(Optional pvObject As Variant) As Variant
585 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getRowChangeAction&quot;)
586 getRowChangeAction = PropertiesGet._getProperty(pvObject, &quot;RowChangeAction&quot;)
587 End Function &apos; getRowChangeAction
589 REM -----------------------------------------------------------------------------------------------------------------------
590 Public Function getRowSource(Optional pvObject As Variant) As Variant
591 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getRowSource&quot;)
592 getRowSource = PropertiesGet._getProperty(pvObject, &quot;RowSource&quot;)
593 End Function &apos; getRowSource
595 REM -----------------------------------------------------------------------------------------------------------------------
596 Public Function getRowSourceType(Optional pvObject As Variant) As Variant
597 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getRowSourceType&quot;)
598 getRowSourceType = PropertiesGet._getProperty(pvObject, &quot;RowSourceType&quot;)
599 End Function &apos; getRowSourceType
601 REM -----------------------------------------------------------------------------------------------------------------------
602 Public Function getSelected(Optional pvObject As Variant, ByVal Optional pvIndex As Variant) As Variant
603 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getSelected&quot;)
604 If IsMissing(pvIndex) Then
605 getSelected = PropertiesGet._getProperty(pvObject, &quot;Selected&quot;)
606 Else
607 getSelected = PropertiesGet._getProperty(pvObject, &quot;Selected&quot;, pvIndex)
608 End If
609 End Function &apos; getSelected
611 REM -----------------------------------------------------------------------------------------------------------------------
612 Public Function getSize(Optional pvObject As Variant) As Variant
613 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getSize&quot;)
614 getSize = PropertiesGet._getProperty(pvObject, &quot;Size&quot;)
615 End Function &apos; getSize
617 REM -----------------------------------------------------------------------------------------------------------------------
618 Public Function getSource(Optional pvObject As Variant) As String
619 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getSource&quot;)
620 getSource = PropertiesGet._getProperty(pvObject, &quot;Source&quot;)
621 End Function &apos; getSource V0.9.0
623 REM -----------------------------------------------------------------------------------------------------------------------
624 Public Function getSourceField(Optional pvObject As Variant) As Variant
625 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getSourceField&quot;)
626 getSourceField = PropertiesGet._getProperty(pvObject, &quot;SourceField&quot;)
627 End Function &apos; getSourceField
629 REM -----------------------------------------------------------------------------------------------------------------------
630 Public Function getSourceTable(Optional pvObject As Variant) As Variant
631 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getSourceTable&quot;)
632 getSourceTable = PropertiesGet._getProperty(pvObject, &quot;SourceTable&quot;)
633 End Function &apos; getSourceTable
635 REM -----------------------------------------------------------------------------------------------------------------------
636 Public Function getSpecialEffect(Optional pvObject As Variant) As Variant
637 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getSpecialEffect&quot;)
638 getSpecialEffect = PropertiesGet._getProperty(pvObject, &quot;SpecialEffect&quot;)
639 End Function &apos; getSpecialEffect
641 REM -----------------------------------------------------------------------------------------------------------------------
642 Public Function getSubType(Optional pvObject As Variant) As Variant
643 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getSubType&quot;)
644 getSubType = PropertiesGet._getProperty(pvObject, &quot;SubType&quot;)
645 End Function &apos; getSubType
647 REM -----------------------------------------------------------------------------------------------------------------------
648 Public Function getSubComponentName(Optional pvObject As Variant) As Variant
649 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getSubComponentName&quot;)
650 getSubComponentName = PropertiesGet._getProperty(pvObject, &quot;SubComponentName&quot;)
651 End Function &apos; getSubComponentName
653 REM -----------------------------------------------------------------------------------------------------------------------
654 Public Function getSubComponentType(Optional pvObject As Variant) As Variant
655 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getSubComponentType&quot;)
656 getSubComponentType = PropertiesGet._getProperty(pvObject, &quot;SubComponentType&quot;)
657 End Function &apos; getSubComponentType
659 REM -----------------------------------------------------------------------------------------------------------------------
660 Public Function getTabIndex(Optional pvObject As Variant) As Variant
661 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getTabIndex&quot;)
662 getTabIndex = PropertiesGet._getProperty(pvObject, &quot;TabIndex&quot;)
663 End Function &apos; getTabIndex
665 REM -----------------------------------------------------------------------------------------------------------------------
666 Public Function getTabStop(Optional pvObject As Variant) As Variant
667 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getTabStop&quot;)
668 getTabStop = PropertiesGet._getProperty(pvObject, &quot;TabStop&quot;)
669 End Function &apos; getTabStop
671 REM -----------------------------------------------------------------------------------------------------------------------
672 Public Function getTag(Optional pvObject As Variant) As Variant
673 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getTag&quot;)
674 getTag = PropertiesGet._getProperty(pvObject, &quot;Tag&quot;)
675 End Function &apos; getTag
677 REM -----------------------------------------------------------------------------------------------------------------------
678 Public Function getText(Optional pvObject As Variant) As Variant
679 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getText&quot;)
680 getText = PropertiesGet._getProperty(pvObject, &quot;Text&quot;)
681 End Function &apos; getText
683 REM -----------------------------------------------------------------------------------------------------------------------
684 Public Function getTextAlign(Optional pvObject As Variant) As Variant
685 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getTextAlign&quot;)
686 getTextAlign = PropertiesGet._getProperty(pvObject, &quot;TextAlign&quot;)
687 End Function &apos; getTextAlign
689 REM -----------------------------------------------------------------------------------------------------------------------
690 Public Function getTooltipText(Optional pvObject As Variant) As Variant
691 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getTooltipText&quot;)
692 getTooltipText = PropertiesGet._getProperty(pvObject, &quot;TooltipText&quot;)
693 End Function &apos; getTooltipText
695 REM -----------------------------------------------------------------------------------------------------------------------
696 Public Function getTripleState(Optional pvObject As Variant) As Variant
697 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getTripleState&quot;)
698 getTripleState = PropertiesGet._getProperty(pvObject, &quot;TripleState&quot;)
699 End Function &apos; getTripleState
701 REM -----------------------------------------------------------------------------------------------------------------------
702 Public Function getTypeName(Optional pvObject As Variant) As Variant
703 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getTypeName&quot;)
704 getTypeName = PropertiesGet._getProperty(pvObject, &quot;TypeName&quot;)
705 End Function &apos; getTypeName
707 REM -----------------------------------------------------------------------------------------------------------------------
708 Public Function getValue(Optional pvObject As Variant) As Variant
709 &apos; getValue also interprets shortcut strings !!
710 Dim vItem As Variant, sProperty As String
711 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getValue&quot;)
712 If VarType(pvObject) = vbString Then
713 Utils._SetCalledSub(&quot;getValue&quot;)
714 Set vItem = getObject(pvObject)
715 sProperty = Utils._FinalProperty(pvObject)
716 If sProperty = &quot;&quot; Then sProperty = &quot;Value&quot; &apos; Default value if final property in shortcut is absent
717 getValue = PropertiesGet._getProperty(vItem, sProperty)
718 Utils._ResetCalledSub(&quot;getValue&quot;)
719 Else
720 getValue = PropertiesGet._getProperty(pvObject, &quot;Value&quot;)
721 End If
722 End Function &apos; getValue
724 REM -----------------------------------------------------------------------------------------------------------------------
725 Public Function getVisible(Optional pvObject As Variant) As Variant
726 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getVisible&quot;)
727 getVisible = PropertiesGet._getProperty(pvObject, &quot;Visible&quot;)
728 End Function &apos; getVisible
730 REM -----------------------------------------------------------------------------------------------------------------------
731 Public Function getWidth(Optional pvObject As Variant) As Long
732 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getWdth&quot;)
733 getWidth = PropertiesGet._getProperty(pvObject, &quot;Width&quot;)
734 End Function &apos; getWidth
736 REM -----------------------------------------------------------------------------------------------------------------------
737 Public Function getXPos(Optional pvObject As Variant) As Long
738 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getXPos&quot;)
739 getXPos = PropertiesGet._getProperty(pvObject, &quot;XPos&quot;)
740 End Function &apos; getXPos
742 REM -----------------------------------------------------------------------------------------------------------------------
743 Public Function getYPos(Optional pvObject As Variant) As Long
744 If IsMissing(pvObject) Or IsEmpty(pvObject) Then Call _TraceArguments(&quot;getYPos&quot;)
745 getYPos = PropertiesGet._getProperty(pvObject, &quot;YPos&quot;)
746 End Function &apos; getYPos
748 REM -----------------------------------------------------------------------------------------------------------------------
749 REM --- PRIVATE FUNCTIONS ---
750 REM -----------------------------------------------------------------------------------------------------------------------
752 Public Function _getProperty(pvItem As Variant, ByVal psProperty As String, ByVal Optional pvIndex As Variant) As Variant
753 &apos; Return property value of the psProperty property name within object pvItem
755 If _ErrorHandler() Then On Local Error Goto Error_Function
756 Utils._SetCalledSub(&quot;get&quot; &amp; psProperty)
757 _getProperty = Nothing
759 &apos;pvItem must be an object and have the requested property
760 If Not Utils._CheckArgument(pvItem, 1, vbObject) Then Goto Exit_Function
761 If Not PropertiesGet._hasProperty(pvItem._Type, pvItem._PropertiesList(), psProperty) Then Goto Trace_Error
762 &apos;Check Index argument
763 If Not IsMissing(pvIndex) Then
764 If Not Utils._CheckArgument(pvIndex, 3, Utils._AddNumeric()) Then Goto Exit_Function
765 End If
766 &apos;Execute
767 Select Case UCase(psProperty)
768 Case UCase(&quot;AbsolutePosition&quot;)
769 If Not Utils._CheckArgument(pvItem, 1, OBJRECORDSET) Then Goto Exit_Function
770 _getProperty = pvItem.AbsolutePosition
771 Case UCase(&quot;AllowAdditions&quot;)
772 If Not Utils._CheckArgument(pvItem, 1, Array(OBJFORM, OBJSUBFORM)) Then Goto Exit_Function
773 _getProperty = pvItem.AllowAdditions
774 Case UCase(&quot;AllowDeletions&quot;)
775 If Not Utils._CheckArgument(pvItem, 1, Array(OBJFORM, OBJSUBFORM)) Then Goto Exit_Function
776 _getProperty = pvItem.AllowDeletions
777 Case UCase(&quot;AllowEdits&quot;)
778 If Not Utils._CheckArgument(pvItem, 1, Array(OBJFORM, OBJSUBFORM)) Then Goto Exit_Function
779 _getProperty = pvItem.AllowEdits
780 Case UCase(&quot;BackColor&quot;)
781 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
782 _getProperty = pvItem.BackColor
783 Case UCase(&quot;BeginGroup&quot;)
784 If Not Utils._CheckArgument(pvItem, 1, OBJCOMMANDBARCONTROL) Then Goto Exit_Function
785 _getProperty = pvItem.BeginGroup
786 Case UCase(&quot;BOF&quot;)
787 If Not Utils._CheckArgument(pvItem, 1, OBJRECORDSET) Then Goto Exit_Function
788 _getProperty = pvItem.BOF
789 Case UCase(&quot;Bookmark&quot;)
790 If Not Utils._CheckArgument(pvItem, 1, Array(OBJFORM, OBJRECORDSET)) Then Goto Exit_Function
791 _getProperty = pvItem.Bookmark
792 Case UCase(&quot;Bookmarkable&quot;)
793 If Not Utils._CheckArgument(pvItem, 1, OBJRECORDSET) Then Goto Exit_Function
794 _getProperty = pvItem.Bookmarkable
795 Case UCase(&quot;BorderColor&quot;)
796 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
797 _getProperty = pvItem.BorderColor
798 Case UCase(&quot;BorderStyle&quot;)
799 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
800 _getProperty = pvItem.BorderStyle
801 Case UCase(&quot;BuiltIn&quot;)
802 If Not Utils._CheckArgument(pvItem, 1, Array(OBJCOMMANDBAR, OBJCOMMANDBARCONTROL)) Then Goto Exit_Function
803 _getProperty = pvItem.BuiltIn
804 Case UCase(&quot;ButtonLeft&quot;)
805 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
806 _getProperty = pvItem.ButtonLeft
807 Case UCase(&quot;ButtonMiddle&quot;)
808 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
809 _getProperty = pvItem.ButtonMiddle
810 Case UCase(&quot;ButtonRight&quot;)
811 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
812 _getProperty = pvItem.ButtonRight
813 Case UCase(&quot;Cancel&quot;)
814 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
815 _getProperty = pvItem.Cancel
816 Case UCase(&quot;Caption&quot;)
817 If Not Utils._CheckArgument(pvItem, 1, Array(OBJFORM, OBJDIALOG, OBJCONTROL, OBJCOMMANDBARCONTROL)) Then Goto Exit_Function
818 _getProperty = pvItem.Caption
819 Case UCase(&quot;ClickCount&quot;)
820 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
821 _getProperty = pvItem.ClickCount
822 Case UCase(&quot;ContextShortcut&quot;)
823 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
824 _getProperty = pvItem.ContextShortcut
825 Case UCase(&quot;ControlSource&quot;)
826 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
827 _getProperty = pvItem.ControlSource
828 Case UCase(&quot;ControlTipText&quot;)
829 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
830 _getProperty = pvItem.ControlTipText
831 Case UCase(&quot;ControlType&quot;)
832 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
833 _getProperty = pvItem.ControlType
834 Case UCase(&quot;Count&quot;)
835 If Not Utils._CheckArgument(pvItem, 1, Array(OBJCOLLECTION,OBJOPTIONGROUP)) Then Goto Exit_Function
836 _getProperty = pvItem.Count
837 Case UCase(&quot;CurrentRecord&quot;)
838 If Not Utils._CheckArgument(pvItem, 1, Array(OBJFORM, OBJSUBFORM)) Then Goto Exit_Function
839 _getProperty = pvItem.CurrentRecord
840 Case UCase(&quot;DataType&quot;)
841 If Not Utils._CheckArgument(pvItem, 1, OBJFIELD) Then Goto Exit_Function
842 _getProperty = pvItem.DataType
843 Case UCase(&quot;DbType&quot;)
844 If Not Utils._CheckArgument(pvItem, 1, OBJFIELD) Then Goto Exit_Function
845 _getProperty = pvItem.DbType
846 Case UCase(&quot;Default&quot;)
847 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
848 _getProperty = pvItem.Default
849 Case UCase(&quot;DefaultValue&quot;)
850 If Not Utils._CheckArgument(pvItem, 1, Array(OBJCONTROL, OBJFIELD)) Then Goto Exit_Function
851 _getProperty = pvItem.DefaultValue
852 Case UCase(&quot;Description&quot;)
853 If Not Utils._CheckArgument(pvItem, 1, OBJFIELD) Then Goto Exit_Function
854 _getProperty = pvItem.Description
855 Case UCase(&quot;EditMode&quot;)
856 If Not Utils._CheckArgument(pvItem, 1, OBJRECORDSET) Then Goto Exit_Function
857 _getProperty = pvItem.EditMode
858 Case UCase(&quot;Enabled&quot;)
859 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
860 _getProperty = pvItem.Enabled
861 Case UCase(&quot;EOF&quot;)
862 If Not Utils._CheckArgument(pvItem, 1, OBJRECORDSET) Then Goto Exit_Function
863 _getProperty = pvItem.EOF
864 Case UCase(&quot;EventName&quot;)
865 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
866 _getProperty = pvItem.EventName
867 Case UCase(&quot;EventType&quot;)
868 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
869 _getProperty = pvItem.EventType
870 Case UCase(&quot;FieldSize&quot;)
871 If Not Utils._CheckArgument(pvItem, 1, OBJFIELD) Then Goto Exit_Function
872 _getProperty = pvItem.FieldSize
873 Case UCase(&quot;Filter&quot;)
874 If Not Utils._CheckArgument(pvItem, 1, Array(OBJFORM, OBJSUBFORM, OBJRECORDSET)) Then Goto Exit_Function
875 _getProperty = pvItem.Filter
876 Case UCase(&quot;FilterOn&quot;)
877 If Not Utils._CheckArgument(pvItem, 1, Array(OBJFORM, OBJSUBFORM)) Then Goto Exit_Function
878 _getProperty = pvItem.FilterOn
879 Case UCase(&quot;FocusChangeTemporary&quot;)
880 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
881 _getProperty = pvItem.FocusChangeTemporary
882 Case UCase(&quot;FontBold&quot;)
883 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
884 _getProperty = pvItem.FontBold
885 Case UCase(&quot;FontItalic&quot;)
886 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
887 _getProperty = pvItem.FontItalic
888 Case UCase(&quot;FontName&quot;)
889 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
890 _getProperty = pvItem.FontName
891 Case UCase(&quot;FontSize&quot;)
892 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
893 _getProperty = pvItem.FontSize
894 Case UCase(&quot;FontUnderline&quot;)
895 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
896 _getProperty = pvItem.FontUnderline
897 Case UCase(&quot;FontWeight&quot;)
898 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
899 _getProperty = pvItem.FontWeight
900 Case UCase(&quot;ForeColor&quot;)
901 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
902 _getProperty = pvItem.ForeColor
903 Case UCase(&quot;Form&quot;)
904 If Not Utils._CheckArgument(pvItem, 1, CTLSUBFORM) Then Goto Exit_Function
905 _getProperty = pvItem.Form
906 Case UCase(&quot;Format&quot;)
907 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
908 _getProperty = pvItem.Format
909 Case UCase(&quot;Height&quot;)
910 If Not Utils._CheckArgument(pvItem, 1, Array(OBJFORM, OBJDIALOG)) Then Goto Exit_Function
911 _getProperty = pvItem.Height
912 Case UCase(&quot;Index&quot;)
913 If Not Utils._CheckArgument(pvItem, 1, OBJCOMMANDBARCONTROL) Then Goto Exit_Function
914 _getProperty = pvItem.Index
915 Case UCase(&quot;IsLoaded&quot;)
916 If Not Utils._CheckArgument(pvItem, 1, OBJFORM) Then Goto Exit_Function
917 _getProperty = pvItem.IsLoaded
918 Case UCase(&quot;ItemData&quot;)
919 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
920 If IsMissing(pvIndex) Then _getProperty = pvItem.ItemData Else _getProperty = pvItem.ItemData(pvIndex)
921 Case UCase(&quot;KeyAlt&quot;)
922 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
923 _getProperty = pvItem.KeyAlt
924 Case UCase(&quot;KeyChar&quot;)
925 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
926 _getProperty = pvItem.KeyChar
927 Case UCase(&quot;KeyCode&quot;)
928 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
929 _getProperty = pvItem.KeyCode
930 Case UCase(&quot;KeyCtrl&quot;)
931 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
932 _getProperty = pvItem.KeyCtrl
933 Case UCase(&quot;KeyFunction&quot;)
934 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
935 _getProperty = pvItem.KeyFunction
936 Case UCase(&quot;KeyShift&quot;)
937 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
938 _getProperty = pvItem.KeyShift
939 Case UCase(&quot;LinkChildFields&quot;)
940 If Not Utils._CheckArgument(pvItem, 1, OBJSUBFORM) Then Goto Exit_Function
941 If IsMissing(pvIndex) Then _getProperty = pvItem.LinkChildFields Else _getProperty = pvItem.LinkChildFields(pvIndex)
942 Case UCase(&quot;LinkMasterFields&quot;)
943 If Not Utils._CheckArgument(pvItem, 1, OBJSUBFORM) Then Goto Exit_Function
944 If IsMissing(pvIndex) Then _getProperty = pvItem.LinkMasterFields Else _getProperty = pvItem.LinkMasterFields(pvIndex)
945 Case UCase(&quot;ListCount&quot;)
946 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
947 _getProperty = pvItem.ListCount
948 Case UCase(&quot;ListIndex&quot;)
949 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
950 _getProperty = pvItem.ListIndex
951 Case UCase(&quot;Locked&quot;)
952 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
953 If IsNull(pvItem.Locked) Then Goto Trace_Error
954 _ge ExitProperty = pvItem.Locked
955 Case UCase(&quot;MultiSelect&quot;)
956 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
957 _getProperty = pvItem.MultiSelect
958 Case UCase(&quot;Name&quot;)
959 If Not Utils._CheckArgument(pvItem, 1, _
960 Array(OBJFORM, OBJSUBFORM, OBJCONTROL, OBJOPTIONGROUP, OBJPROPERTY, OBJDIALOG, OBJTABLEDEF, OBJRECORDSET, OBJFIELD, OBJTEMPVAR, OBJCOMMANDBAR) _
961 ) Then Goto Exit_Function
962 _getProperty = pvItem.Name
963 Case UCase(&quot;ObjectType&quot;)
964 If Not Utils._CheckArgument(pvItem, 1, Array(OBJDATABASE, OBJCOLLECTION, OBJFORM, OBJDIALOG, OBJSUBFORM, OBJCONTROL _
965 , OBJEVENT, OBJOPTIONGROUP, OBJPROPERTY, OBJRECORDSET, OBJTABLEDEF, OBJFIELD, OBJTEMPVAR _
966 , OBJCOMMANDBAR, OBJCOMMANDBARCONTROL) _
967 ) Then Goto Exit_Function
968 _getProperty = pvItem.ObjectType
969 Case UCase(&quot;OnAction&quot;)
970 If Not Utils._CheckArgument(pvItem, 1, OBJCOMMANDBARCONTROL) Then Goto Exit_Function
971 _getProperty = pvItem.OnAction
972 Case UCase(&quot;OpenArgs&quot;)
973 If Not Utils._CheckArgument(pvItem, 1, OBJFORM) Then Goto Exit_Function
974 _getProperty = pvItem.OpenArgs
975 Case UCase(&quot;OptionValue&quot;)
976 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
977 _getProperty = pvItem.OptionValue
978 Case UCase(&quot;OrderBy&quot;)
979 If Not Utils._CheckArgument(pvItem, 1, Array(OBJFORM, OBJSUBFORM)) Then Goto Exit_Function
980 _getProperty = pvItem.OrderBy
981 Case UCase(&quot;OrderByOn&quot;)
982 If Not Utils._CheckArgument(pvItem, 1, Array(OBJFORM, OBJSUBFORM)) Then Goto Exit_Function
983 _getProperty = pvItem.OrderByOn
984 Case UCase(&quot;Page&quot;)
985 If Not Utils._CheckArgument(pvItem, 1, Array(OBJDIALOG, OBJCONTROL)) Then Goto Exit_Function
986 _getProperty = pvItem.Page
987 Case UCase(&quot;Parent&quot;)
988 If Not Utils._CheckArgument(pvItem, 1, Array(OBJSUBFORM, OBJCONTROL, OBJCOMMANDBARCONTROL)) Then Goto Exit_Function
989 _getProperty = pvItem.Parent
990 Case UCase(&quot;Recommendation&quot;)
991 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
992 _getProperty = pvItem.Recommendation
993 Case UCase(&quot;RecordCount&quot;)
994 If Not Utils._CheckArgument(pvItem, 1, OBJRECORDSET) Then Goto Exit_Function
995 _getProperty = pvItem.RecordCount
996 Case UCase(&quot;Recordset&quot;)
997 If Not Utils._CheckArgument(pvItem, 1, Array(OBJFORM, OBJSUBFORM)) Then Goto Exit_Function
998 _getProperty = pvItem.Recordset
999 Case UCase(&quot;RecordSource&quot;)
1000 If Not Utils._CheckArgument(pvItem, 1, Array(OBJFORM, OBJSUBFORM)) Then Goto Exit_Function
1001 _getProperty = pvItem.RecordSource
1002 Case UCase(&quot;Required&quot;)
1003 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
1004 _getProperty = pvItem.Required
1005 Case UCase(&quot;RowChangeAction&quot;)
1006 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
1007 _getProperty = pvItem.RowChangeAction
1008 Case UCase(&quot;RowSource&quot;)
1009 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
1010 _getProperty = pvItem.RowSource
1011 Case UCase(&quot;RowSourceType&quot;)
1012 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
1013 _getProperty = pvItem.RowSourceType
1014 Case UCase(&quot;Selected&quot;)
1015 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
1016 If IsMissing(pvIndex) Then _getProperty = pvItem.Selected Else _getProperty = pvItem.Selected(pvIndex)
1017 Case UCase(&quot;Size&quot;)
1018 If Not Utils._CheckArgument(pvItem, 1, OBJFIELD) Then Goto Exit_Function
1019 _getProperty = pvItem.Size
1020 Case UCase(&quot;Source&quot;)
1021 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
1022 _getProperty = pvItem.Source
1023 Case UCase(&quot;SourceTable&quot;)
1024 If Not Utils._CheckArgument(pvItem, 1, OBJFIELD) Then Goto Exit_Function
1025 _getProperty = pvItem.SourceTable
1026 Case UCase(&quot;SourceField&quot;)
1027 If Not Utils._CheckArgument(pvItem, 1, OBJFIELD) Then Goto Exit_Function
1028 _getProperty = pvItem.SourceField
1029 Case UCase(&quot;SpecialEffect&quot;)
1030 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
1031 _getProperty = pvItem.SpecialEffect
1032 Case UCase(&quot;SubComponentName&quot;)
1033 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
1034 _getProperty = pvItem.SubComponentName
1035 Case UCase(&quot;SubComponentType&quot;)
1036 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
1037 _getProperty = pvItem.SubComponentType
1038 Case UCase(&quot;SubType&quot;)
1039 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
1040 _getProperty = pvItem.SubType
1041 Case UCase(&quot;TabIndex&quot;)
1042 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
1043 _getProperty = pvItem.TabIndex
1044 Case UCase(&quot;TabStop&quot;)
1045 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
1046 _getProperty = pvItem.TabStop
1047 Case UCase(&quot;Tag&quot;)
1048 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
1049 _getProperty = pvItem.Tag
1050 Case UCase(&quot;Text&quot;)
1051 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
1052 _getProperty = pvItem.Text
1053 Case UCase(&quot;TextAlign&quot;)
1054 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
1055 _getProperty = pvItem.TextAlign
1056 Case UCase(&quot;TooltipText&quot;)
1057 If Not Utils._CheckArgument(pvItem, 1, OBJCOMMANDBARCONTROL) Then Goto Exit_Function
1058 _getProperty = pvItem.TooltipText
1059 Case UCase(&quot;TripleState&quot;)
1060 If Not Utils._CheckArgument(pvItem, 1, OBJCONTROL) Then Goto Exit_Function
1061 _getProperty = pvItem.TripleState
1062 Case UCase(&quot;TypeName&quot;)
1063 If Not Utils._CheckArgument(pvItem, 1, OBJFIELD) Then Goto Exit_Function
1064 _getProperty = pvItem.TypeName
1065 Case UCase(&quot;Value&quot;)
1066 If Not Utils._CheckArgument(pvItem, 1, Array(OBJCONTROL, OBJOPTIONGROUP, OBJPROPERTY, OBJFIELD, OBJTEMPVAR)) Then Goto Exit_Function
1067 _getProperty = pvItem.Value
1068 Case UCase(&quot;Visible&quot;)
1069 If Not Utils._CheckArgument(pvItem, 1, Array(OBJFORM, OBJDIALOG, OBJCONTROL, OBJCOMMANDBAR, OBJCOMMANDBARCONTROL)) Then Goto Exit_Function
1070 _getProperty = pvItem.Visible
1071 Case UCase(&quot;Width&quot;)
1072 If Not Utils._CheckArgument(pvItem, 1, Array(OBJFORM, OBJDIALOG)) Then Goto Exit_Function
1073 _getProperty = pvItem.Width
1074 Case UCase(&quot;XPos&quot;)
1075 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
1076 If IsNull(pvItem.XPos) Then Goto Trace_Error
1077 _getProperty = pvItem.XPos
1078 Case UCase(&quot;YPos&quot;)
1079 If Not Utils._CheckArgument(pvItem, 1, OBJEVENT) Then Goto Exit_Function
1080 If IsNull(pvItem.YPos) Then Goto Trace_Error
1081 _getProperty = pvItem.YPos
1082 Case Else
1083 Goto Trace_Error
1084 End Select
1086 Exit_Function:
1087 Utils._ResetCalledSub(&quot;get&quot; &amp; psProperty)
1088 Exit Function
1089 Trace_Error:
1090 TraceError(TRACEFATAL, ERRPROPERTY, Utils._CalledSub(), 0, 1, psProperty)
1091 _getProperty = Nothing
1092 Goto Exit_Function
1093 Trace_Error_Index:
1094 TraceError(TRACEFATAL, ERRINDEXVALUE, Utils._CalledSub(), 0, 1, psProperty)
1095 _getProperty = Nothing
1096 Goto Exit_Function
1097 Error_Function:
1098 TraceError(TRACEABORT, Err, &quot;_getProperty&quot;, Erl)
1099 _getProperty = Nothing
1100 GoTo Exit_Function
1101 End Function &apos; _getProperty V0.9.1
1103 REM -----------------------------------------------------------------------------------------------------------------------
1104 Public Function _hasProperty(ByVal psObject As String, ByVal pvPropertiesList() As Variant, ByVal pvProperty As Variant) As Boolean
1105 &apos; Return True if object has a valid property called pvProperty (case-insensitive comparison !)
1106 &apos; Generic hasProperty function called from all class modules
1108 Dim sObject As String
1109 sObject = Utils._PCase(psObject)
1110 Utils._SetCalledSub(sObject &amp; &quot;.hasProperty&quot;)
1111 If IsMissing(pvProperty) Then Call _TraceArguments()
1113 _hasProperty = False
1114 If Not Utils._CheckArgument(pvProperty, 1, vbString) Then Goto Exit_Function
1116 _hasProperty = Utils._InList(pvProperty, pvPropertiesList(), , True)
1118 Exit_Function:
1119 Utils._ResetCalledSub(sObject &amp; &quot;.hasProperty&quot;)
1120 Exit Function
1121 End Function &apos; _hasProperty
1123 REM ------------------------------------------------------------------------------------------------------------------------
1124 Public Function _ParentObject(psShortcut As String) As Object
1125 &apos; Return parent object from shortcut as a string
1127 Dim sParent As String, vParent() As Variant, iBound As Integer
1128 vParent = Split(psShortcut, &quot;!&quot;)
1129 iBound = UBound(vParent) - 1
1130 ReDim Preserve vParent(0 To iBound) &apos; Remove last element
1131 sParent = Join(vParent, &quot;!&quot;)
1133 &apos;Remove &quot;.Form&quot; if present
1134 Const cstForm = &quot;.FORM&quot;
1135 Set _ParentObject = Nothing
1136 If Len(sParent) &gt; Len(cstForm) Then
1137 If UCase(Right(sParent, Len(cstForm))) = cstForm Then
1138 Set _ParentObject = getValue(sParent)
1139 Else
1140 Set _ParentObject = getObject(sParent)
1141 End If
1142 End If
1144 End Function &apos; _ParentObject V0.9.0
1146 REM -----------------------------------------------------------------------------------------------------------------------
1147 Public Function _Properties(ByVal psObject As String _
1148 , ByVal psObjectName As String _
1149 , ByVal pvPropertiesList() As Variant _
1150 , ByVal Optional pvIndex As Variant _
1151 ) As Variant
1152 &apos; Return
1153 &apos; a Collection object if pvIndex absent
1154 &apos; a Property object otherwise
1155 &apos; Generic function called from Properties methods stored in classes
1157 Dim vProperties As Variant, oCounter As Object, opProperty As Object
1158 Dim iArgNr As Integer, iLen As Integer
1160 Utils._SetCalledSub(psObject &amp; &quot;.Properties&quot;)
1162 vProperties = Null
1164 If IsMissing(pvIndex) Then &apos; Call without index argument prepares a Collection object
1165 Set oCounter = New Collect
1166 oCounter._CollType = COLLPROPERTIES
1167 oCounter._ParentType = UCase(psObject)
1168 oCounter._ParentName = psObjectName
1169 oCounter._Count = UBound(pvPropertiesList) + 1
1170 Set vProperties = oCounter
1171 Else
1172 iLen = Len(psObject) + 1
1173 If Len(_A2B_.CalledSub) &gt; iLen Then
1174 If Left(_A2B_.CalledSub, iLen) = psObject &amp; &quot;.&quot; Then iArgNr = 1 Else iArgNr = 2
1175 End If
1176 If Not Utils._CheckArgument(pvIndex, iArgNr, Utils._AddNumeric()) Then Goto Exit_Function
1177 If pvIndex &lt; LBound(pvPropertiesList) Or pvIndex &gt; UBound(pvPropertiesList) Then
1178 TraceError(TRACEFATAL, ERRCOLLECTION, Utils._CalledSub(), 0, 1)
1179 Else
1180 Set opProperty = New Property
1181 opProperty._Name = pvPropertiesList(pvIndex)
1182 opProperty._Value = Null
1183 Set vProperties = opProperty
1184 End If
1185 End If
1187 Exit_Function:
1188 Set _Properties = vProperties
1189 Utils._ResetCalledSub(psObject &amp; &quot;.Properties&quot;)
1190 Exit Function
1191 End Function &apos; _Properties
1193 REM -----------------------------------------------------------------------------------------------------------------------
1194 Public Function _PropertiesList(pvObject As Variant) As Variant
1195 &apos; Return an array of strings containing the list of valid properties of pvObject
1197 Dim vProperties As Variant
1198 Dim vPropertiesList As Variant, bPropertiesList() As Boolean, sPropertiesList() As String
1199 Dim i As Integer, j As Integer, iCount As Integer
1201 Set vProperties = Nothing
1202 Select Case pvObject._Type
1203 Case OBJCOLLECTION, OBJPROPERTY, OBJFORM, OBJEVENT, OBJSUBFORM, OBJCONTROL, OBJOPTIONGROUP _
1204 , OBJDATABASE, OBJTABLEDEF, OBJQUERYDEF, OBJDIALOG, OBJFIELD, OBJRECORDSET, OBJTEMPVAR _
1205 , OBJCOMMANDBAR, OBJCOMMANDBARCONTROL
1206 vPropertiesList = pvObject._PropertiesList()
1207 Case Else
1208 End Select
1210 Exit_Function:
1211 Set _PropertiesList = vPropertiesList
1212 Exit Function
1213 End Function &apos; PropertiesList V0.9.0
1214 </script:module>