ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/examples/dbcontrolgrid/unit1.lfm
Revision: 112
Committed: Thu Jan 18 14:37:55 2018 UTC (6 years, 10 months ago) by tony
File size: 20048 byte(s)
Log Message:
Fixes Merged

File Contents

# Content
1 object Form1: TForm1
2 Left = 613
3 Height = 575
4 Top = 199
5 Width = 1026
6 Caption = 'Employee List'
7 ClientHeight = 575
8 ClientWidth = 1026
9 DefaultMonitor = dmPrimary
10 OnClose = FormClose
11 OnShow = FormShow
12 Position = poDefault
13 LCLVersion = '1.8.1.0'
14 object Button1: TButton
15 Left = 939
16 Height = 25
17 Top = 48
18 Width = 75
19 Action = AddEmployee
20 Anchors = [akTop, akRight]
21 TabOrder = 0
22 end
23 object Button3: TButton
24 Left = 939
25 Height = 25
26 Top = 80
27 Width = 75
28 Action = DeleteEmployee
29 Anchors = [akTop, akRight]
30 TabOrder = 1
31 end
32 object Label1: TLabel
33 Left = 17
34 Height = 14
35 Top = 14
36 Width = 87
37 Caption = 'Started Before'
38 ParentColor = False
39 end
40 object BeforeDate: TDateEdit
41 Left = 112
42 Height = 24
43 Top = 8
44 Width = 96
45 CalendarDisplaySettings = [dsShowHeadings, dsShowDayNames]
46 DateOrder = doNone
47 ButtonWidth = 23
48 NumGlyphs = 1
49 MaxLength = 0
50 OnChange = BeforeDateChange
51 TabOrder = 2
52 end
53 object Label2: TLabel
54 Left = 241
55 Height = 14
56 Top = 14
57 Width = 78
58 Caption = 'Started After'
59 ParentColor = False
60 end
61 object AfterDate: TDateEdit
62 Left = 333
63 Height = 24
64 Top = 8
65 Width = 91
66 CalendarDisplaySettings = [dsShowHeadings, dsShowDayNames]
67 DateOrder = doNone
68 ButtonWidth = 23
69 NumGlyphs = 1
70 MaxLength = 0
71 OnChange = BeforeDateChange
72 TabOrder = 3
73 end
74 object Panel1: TPanel
75 Left = 12
76 Height = 527
77 Top = 42
78 Width = 904
79 Anchors = [akTop, akLeft, akRight, akBottom]
80 BevelOuter = bvNone
81 ClientHeight = 527
82 ClientWidth = 904
83 ParentColor = False
84 TabOrder = 4
85 object DBControlGrid1: TDBControlGrid
86 Left = 0
87 Height = 477
88 Top = 0
89 Width = 904
90 Align = alClient
91 AlternateColor = clSkyBlue
92 AltColorStartNormal = True
93 Color = clWhite
94 DataSource = EmployeeSource
95 DefaultPositionAtEnd = False
96 DrawPanel = EmployeeEditorPanel
97 Options = [dgpIndicator]
98 TabOrder = 1
99 ColWidths = (
100 12
101 890
102 )
103 object EmployeeEditorPanel: TPanel
104 Left = 12
105 Height = 84
106 Top = 0
107 Width = 890
108 Anchors = []
109 BevelOuter = bvNone
110 BorderWidth = 2
111 BorderStyle = bsSingle
112 ClientHeight = 82
113 ClientWidth = 888
114 Color = clWhite
115 ParentColor = False
116 TabOrder = 0
117 Visible = False
118 object Label3: TLabel
119 Left = 0
120 Height = 14
121 Top = 7
122 Width = 83
123 Caption = 'Employee No.'
124 ParentColor = False
125 end
126 object DBEdit1: TDBEdit
127 Left = 90
128 Height = 24
129 Top = 2
130 Width = 120
131 DataField = 'EMP_NO'
132 DataSource = EmployeeSource
133 CharCase = ecNormal
134 MaxLength = 0
135 TabOrder = 0
136 end
137 object Label4: TLabel
138 Left = 12
139 Height = 14
140 Top = 32
141 Width = 64
142 Caption = 'First Name'
143 ParentColor = False
144 end
145 object DBEdit2: TDBEdit
146 Left = 90
147 Height = 24
148 Top = 28
149 Width = 120
150 DataField = 'FIRST_NAME'
151 DataSource = EmployeeSource
152 CharCase = ecNormal
153 MaxLength = 0
154 TabOrder = 1
155 end
156 object Label5: TLabel
157 Left = 12
158 Height = 14
159 Top = 56
160 Width = 64
161 Caption = 'Last Name'
162 ParentColor = False
163 end
164 object DBEdit3: TDBEdit
165 Left = 90
166 Height = 24
167 Top = 54
168 Width = 120
169 DataField = 'LAST_NAME'
170 DataSource = EmployeeSource
171 CharCase = ecNormal
172 MaxLength = 0
173 TabOrder = 2
174 end
175 object Label6: TLabel
176 Left = 216
177 Height = 14
178 Top = 7
179 Width = 77
180 Caption = 'Date Started'
181 ParentColor = False
182 end
183 object IBDateEdit1: TDBDateEdit
184 Left = 300
185 Height = 24
186 Top = 2
187 Width = 100
188 CalendarDisplaySettings = [dsShowHeadings, dsShowDayNames]
189 DateOrder = doNone
190 ButtonWidth = 23
191 AutoSelect = False
192 NumGlyphs = 1
193 MaxLength = 0
194 TabOrder = 3
195 DataField = 'HIRE_DATE'
196 DataSource = EmployeeSource
197 end
198 object Label7: TLabel
199 Left = 252
200 Height = 14
201 Top = 32
202 Width = 37
203 Caption = 'Salary'
204 ParentColor = False
205 end
206 object DBEdit4: TDBEdit
207 Left = 300
208 Height = 24
209 Top = 28
210 Width = 104
211 DataField = 'SALARY'
212 DataSource = EmployeeSource
213 CharCase = ecNormal
214 MaxLength = 0
215 TabOrder = 5
216 end
217 object Label8: TLabel
218 Left = 814
219 Height = 14
220 Top = 58
221 Width = 24
222 Anchors = [akTop, akRight]
223 Caption = 'Ext.'
224 ParentColor = False
225 end
226 object DBEdit5: TDBEdit
227 Left = 838
228 Height = 24
229 Top = 54
230 Width = 40
231 DataField = 'PHONE_EXT'
232 DataSource = EmployeeSource
233 Anchors = [akTop, akRight]
234 CharCase = ecNormal
235 MaxLength = 0
236 TabOrder = 4
237 end
238 object Label9: TLabel
239 Left = 536
240 Height = 14
241 Top = 7
242 Width = 51
243 Caption = 'Location'
244 ParentColor = False
245 end
246 object Label10: TLabel
247 Left = 413
248 Height = 14
249 Top = 9
250 Width = 59
251 Caption = 'Job Grade'
252 ParentColor = False
253 end
254 object JobGradeDBComboBox: TDBComboBox
255 Left = 480
256 Height = 23
257 Top = 0
258 Width = 48
259 AutoSize = False
260 DataField = 'JOB_GRADE'
261 DataSource = EmployeeSource
262 ItemHeight = 0
263 Items.Strings = (
264 '1'
265 '2'
266 '3'
267 '4'
268 '5'
269 )
270 MaxLength = 0
271 OnCloseUp = JobGradeDBComboBoxCloseUp
272 Style = csDropDownList
273 TabOrder = 6
274 end
275 object Label11: TLabel
276 Left = 536
277 Height = 14
278 Top = 32
279 Width = 48
280 Caption = 'Job Title'
281 ParentColor = False
282 end
283 object Label12: TLabel
284 Left = 256
285 Height = 14
286 Top = 58
287 Width = 33
288 Caption = 'Dept.'
289 ParentColor = False
290 end
291 object SpeedButton1: TSpeedButton
292 Left = 786
293 Height = 25
294 Top = 54
295 Width = 23
296 Action = SelectDept
297 Anchors = [akTop, akRight]
298 end
299 object DBEdit6: TDBEdit
300 Left = 300
301 Height = 24
302 Top = 54
303 Width = 478
304 DataField = 'DEPT_PATH'
305 DataSource = EmployeeSource
306 ReadOnly = True
307 Anchors = [akTop, akLeft, akRight]
308 CharCase = ecNormal
309 MaxLength = 0
310 TabOrder = 7
311 end
312 object DBEdit7: TDBEdit
313 Left = 592
314 Height = 24
315 Top = 0
316 Width = 246
317 DataField = 'JOB_COUNTRY'
318 DataSource = EmployeeSource
319 ReadOnly = True
320 CharCase = ecNormal
321 MaxLength = 0
322 TabOrder = 8
323 end
324 object DBEdit8: TDBEdit
325 Left = 592
326 Height = 24
327 Top = 28
328 Width = 246
329 DataField = 'JOB_TITLE'
330 DataSource = EmployeeSource
331 CharCase = ecNormal
332 MaxLength = 0
333 TabOrder = 9
334 end
335 object SpeedButton2: TSpeedButton
336 Left = 847
337 Height = 22
338 Top = 3
339 Width = 23
340 Action = EditLocationAction
341 end
342 object SpeedButton3: TSpeedButton
343 Left = 847
344 Height = 22
345 Top = 30
346 Width = 23
347 Action = EditJobCodeAction
348 end
349 end
350 end
351 object Panel2: TPanel
352 Left = 0
353 Height = 50
354 Top = 477
355 Width = 904
356 Align = alBottom
357 BevelOuter = bvNone
358 ClientHeight = 50
359 ClientWidth = 904
360 ParentColor = False
361 TabOrder = 0
362 object Button5: TButton
363 Left = 80
364 Height = 25
365 Top = 16
366 Width = 75
367 Action = CancelChanges
368 Anchors = [akLeft, akBottom]
369 TabOrder = 0
370 end
371 object Button4: TButton
372 Left = 1
373 Height = 25
374 Top = 16
375 Width = 75
376 Action = SaveChanges
377 Anchors = [akLeft, akBottom]
378 TabOrder = 1
379 end
380 object DBText1: TDBText
381 Left = 832
382 Height = 27
383 Top = 16
384 Width = 49
385 Alignment = taRightJustify
386 Anchors = [akTop, akRight, akBottom]
387 DataField = 'TOTALSALARIES'
388 DataSource = TotalsSource
389 ParentColor = False
390 end
391 end
392 end
393 object Label13: TLabel
394 Left = 456
395 Height = 14
396 Top = 14
397 Width = 79
398 Caption = 'Salary Range'
399 ParentColor = False
400 end
401 object SalaryRange: TComboBox
402 Left = 544
403 Height = 25
404 Top = 8
405 Width = 272
406 ItemHeight = 0
407 ItemIndex = 0
408 Items.Strings = (
409 'None Specified'
410 'Below $40,000'
411 'Between $40,000 and $100,000'
412 'Above $100,000'
413 )
414 OnCloseUp = BeforeDateChange
415 Style = csDropDownList
416 TabOrder = 5
417 Text = 'None Specified'
418 end
419 object IBDatabase1: TIBDatabase
420 Connected = True
421 CreateIfNotExists = False
422 AllowStreamedConnected = False
423 DatabaseName = 'localhost:employee'
424 Params.Strings = (
425 'user_name=SYSDBA'
426 'lc_ctype=UTF8'
427 'user_name=SYSDBA'
428 'user_name=SYSDBA'
429 )
430 DefaultTransaction = IBTransaction1
431 IdleTimer = 0
432 TraceFlags = []
433 UseDefaultSystemCodePage = False
434 left = 832
435 top = 168
436 end
437 object IBTransaction1: TIBTransaction
438 Active = False
439 DefaultDatabase = IBDatabase1
440 Params.Strings = (
441 'read_committed'
442 'rec_version'
443 'nowait'
444 )
445 left = 872
446 top = 168
447 end
448 object EmployeeSource: TDataSource
449 DataSet = Employees
450 left = 832
451 top = 336
452 end
453 object ActionList1: TActionList
454 left = 832
455 top = 416
456 object AddEmployee: TAction
457 Caption = 'Add'
458 OnExecute = AddEmployeeExecute
459 end
460 object EditEmployee: TAction
461 Caption = 'Edit'
462 OnUpdate = EditEmployeeUpdate
463 end
464 object DeleteEmployee: TAction
465 Caption = 'Delete'
466 OnExecute = DeleteEmployeeExecute
467 OnUpdate = EditEmployeeUpdate
468 end
469 object SaveChanges: TAction
470 Caption = 'Save'
471 OnExecute = SaveChangesExecute
472 OnUpdate = SaveChangesUpdate
473 end
474 object CancelChanges: TAction
475 Caption = 'Cancel'
476 OnExecute = CancelChangesExecute
477 OnUpdate = SaveChangesUpdate
478 end
479 object SelectDept: TAction
480 Caption = '...'
481 OnExecute = SelectDeptExecute
482 end
483 object EditJobCodeAction: TAction
484 Caption = '...'
485 OnExecute = EditJobCodeActionExecute
486 OnUpdate = EditJobCodeActionUpdate
487 end
488 object EditLocationAction: TAction
489 Caption = '...'
490 OnExecute = EditLocationActionExecute
491 OnUpdate = EditJobCodeActionUpdate
492 end
493 end
494 object TotalsQuery: TIBQuery
495 AllowAutoActivateTransaction = False
496 Database = IBDatabase1
497 Transaction = IBTransaction1
498 BeforeOpen = EmployeesBeforeOpen
499 BufferChunks = 1000
500 CachedUpdates = False
501 GenerateParamNames = False
502 GeneratorField.ApplyOnEvent = gaeOnNewRecord
503 SQL.Strings = (
504 'Select sum(Salary) as TotalSalaries'
505 'From EMPLOYEE'
506 )
507 Params = <>
508 DataSetCloseAction = dcDiscardChanges
509 left = 872
510 top = 376
511 object TotalsQueryTOTALSALARIES: TIBBCDField
512 DisplayWidth = 18
513 FieldKind = fkData
514 FieldName = 'TOTALSALARIES'
515 Index = 0
516 LookupCache = False
517 ProviderFlags = [pfInUpdate, pfInWhere]
518 ReadOnly = False
519 Required = False
520 OnGetText = TotalsQueryTOTALSALARIESGetText
521 Precision = 18
522 Currency = False
523 MaxValue = 0
524 MinValue = 0
525 Size = 2
526 end
527 end
528 object TotalsSource: TDataSource
529 DataSet = TotalsQuery
530 left = 832
531 top = 376
532 end
533 object Employees: TIBDataSet
534 AllowAutoActivateTransaction = False
535 Database = IBDatabase1
536 Transaction = IBTransaction1
537 ForcedRefresh = True
538 AfterDelete = EmployeesAfterDelete
539 AfterEdit = EmployeesAfterDelete
540 AfterInsert = EmployeesAfterInsert
541 AfterOpen = EmployeesAfterOpen
542 AfterPost = EmployeesAfterPost
543 BeforeClose = EmployeesBeforeClose
544 BeforeOpen = EmployeesBeforeOpen
545 BufferChunks = 1000
546 CachedUpdates = False
547 DeleteSQL.Strings = (
548 'Delete From EMPLOYEE A'
549 'Where A.EMP_NO = :EMP_NO'
550 )
551 InsertSQL.Strings = (
552 'Insert Into EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY)'
553 'Values(:EMP_NO, :FIRST_NAME, :LAST_NAME, :PHONE_EXT, :HIRE_DATE, :DEPT_NO, :JOB_CODE, :JOB_GRADE, :JOB_COUNTRY, :SALARY)'
554 )
555 RefreshSQL.Strings = (
556 'with recursive Depts As ('
557 'Select DEPT_NO, DEPARTMENT, HEAD_DEPT, cast(DEPARTMENT as '
558 'VarChar(256)) as DEPT_PATH,'
559 'cast(DEPT_NO as VarChar(64)) as DEPT_KEY_PATH'
560 'From DEPARTMENT Where HEAD_DEPT is NULL '
561 'UNION ALL'
562 'Select D.DEPT_NO, D.DEPARTMENT,D. HEAD_DEPT, Depts.DEPT_PATH || '' / '' '
563 '|| D.DEPARTMENT as DEPT_PATH,'
564 'Depts.DEPT_KEY_PATH || '';'' || D.DEPT_NO as DEPT_KEY_PATH'
565 'From DEPARTMENT D'
566 'JOIN Depts On D.HEAD_DEPT = Depts.DEPT_NO'
567 ')'
568 ''
569 'Select A.EMP_NO, A.FIRST_NAME, A.LAST_NAME, A.PHONE_EXT, '
570 'A.HIRE_DATE, A.DEPT_NO, A.JOB_CODE, '
571 'A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, D.DEPT_PATH, '
572 'D.DEPT_KEY_PATH, J.JOB_TITLE'
573 'From EMPLOYEE A'
574 'JOIN Depts D On D.DEPT_NO = A.DEPT_NO'
575 'JOIN JOB J on J.JOB_CODE = A.JOB_CODE'
576 ''
577 'Where A.EMP_NO = :EMP_NO'
578 )
579 SelectSQL.Strings = (
580 'with recursive Depts As ('
581 'Select DEPT_NO, DEPARTMENT, HEAD_DEPT, cast(DEPARTMENT as '
582 'VarChar(256)) as DEPT_PATH,'
583 'cast(DEPT_NO as VarChar(64)) as DEPT_KEY_PATH'
584 'From DEPARTMENT Where HEAD_DEPT is NULL '
585 'UNION ALL'
586 'Select D.DEPT_NO, D.DEPARTMENT,D. HEAD_DEPT, Depts.DEPT_PATH || '' / '' '
587 '|| D.DEPARTMENT as DEPT_PATH,'
588 'Depts.DEPT_KEY_PATH || '';'' || D.DEPT_NO as DEPT_KEY_PATH'
589 'From DEPARTMENT D'
590 'JOIN Depts On D.HEAD_DEPT = Depts.DEPT_NO'
591 ')'
592 ''
593 'Select distinct A.EMP_NO, A.FIRST_NAME, A.LAST_NAME, A.PHONE_EXT, '
594 'A.HIRE_DATE, A.DEPT_NO, A.JOB_CODE, '
595 'A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, D.DEPT_PATH, '
596 'D.DEPT_KEY_PATH, J.JOB_TITLE'
597 'From EMPLOYEE A'
598 'JOIN Depts D On D.DEPT_NO = A.DEPT_NO'
599 'JOIN JOB J on J.JOB_CODE = A.JOB_CODE'
600 ''
601 'Order by A.LAST_NAME'
602 )
603 ModifySQL.Strings = (
604 'Update EMPLOYEE A Set '#13#10' A.DEPT_NO = :DEPT_NO,'#13#10' A.FIRST_NAME = :FIRST_NAME,'#13#10' A.HIRE_DATE = :HIRE_DATE,'#13#10' A.JOB_CODE = :JOB_CODE,'#13#10' A.JOB_COUNTRY = :JOB_COUNTRY,'#13#10' A.JOB_GRADE = :JOB_GRADE,'#13#10' A.LAST_NAME = :LAST_NAME,'#13#10' A.PHONE_EXT = :PHONE_EXT,'#13#10' A.SALARY = :SALARY'
605 'Where A.EMP_NO = :OLD_EMP_NO'
606 )
607 GeneratorField.Generator = 'EMP_NO_GEN'
608 GeneratorField.Field = 'EMP_NO'
609 GeneratorField.ApplyOnEvent = gaeOnNewRecord
610 GenerateParamNames = False
611 DataSetCloseAction = dcSaveChanges
612 AfterTransactionEnd = EmployeesAfterTransactionEnd
613 left = 872
614 top = 336
615 object EmployeesEMP_NO: TSmallintField
616 DisplayWidth = 10
617 FieldKind = fkData
618 FieldName = 'EMP_NO'
619 Index = 0
620 LookupCache = False
621 ProviderFlags = [pfInUpdate, pfInWhere]
622 ReadOnly = False
623 Required = True
624 end
625 object EmployeesFIRST_NAME: TIBStringField
626 DisplayWidth = 15
627 FieldKind = fkData
628 FieldName = 'FIRST_NAME'
629 Index = 1
630 LookupCache = False
631 ProviderFlags = [pfInUpdate, pfInWhere]
632 ReadOnly = False
633 Required = True
634 Size = 15
635 end
636 object EmployeesLAST_NAME: TIBStringField
637 DisplayWidth = 20
638 FieldKind = fkData
639 FieldName = 'LAST_NAME'
640 Index = 2
641 LookupCache = False
642 ProviderFlags = [pfInUpdate, pfInWhere]
643 ReadOnly = False
644 Required = True
645 end
646 object EmployeesPHONE_EXT: TIBStringField
647 Alignment = taRightJustify
648 DisplayWidth = 4
649 FieldKind = fkData
650 FieldName = 'PHONE_EXT'
651 Index = 3
652 LookupCache = False
653 ProviderFlags = [pfInUpdate, pfInWhere]
654 ReadOnly = False
655 Required = False
656 Size = 4
657 end
658 object EmployeesHIRE_DATE: TDateTimeField
659 DisplayWidth = 10
660 FieldKind = fkData
661 FieldName = 'HIRE_DATE'
662 Index = 4
663 LookupCache = False
664 ProviderFlags = [pfInUpdate, pfInWhere]
665 ReadOnly = False
666 Required = True
667 end
668 object EmployeesDEPT_NO: TIBStringField
669 DisplayWidth = 3
670 FieldKind = fkData
671 FieldName = 'DEPT_NO'
672 Index = 5
673 LookupCache = False
674 ProviderFlags = [pfInUpdate, pfInWhere]
675 ReadOnly = False
676 Required = True
677 Size = 3
678 end
679 object EmployeesJOB_CODE: TIBStringField
680 DisplayWidth = 5
681 FieldKind = fkData
682 FieldName = 'JOB_CODE'
683 Index = 6
684 LookupCache = False
685 ProviderFlags = [pfInUpdate, pfInWhere]
686 ReadOnly = False
687 Required = True
688 Size = 5
689 end
690 object EmployeesJOB_GRADE: TSmallintField
691 DisplayWidth = 10
692 FieldKind = fkData
693 FieldName = 'JOB_GRADE'
694 Index = 7
695 LookupCache = False
696 ProviderFlags = [pfInUpdate, pfInWhere]
697 ReadOnly = False
698 Required = True
699 end
700 object EmployeesJOB_COUNTRY: TIBStringField
701 DisplayWidth = 15
702 FieldKind = fkData
703 FieldName = 'JOB_COUNTRY'
704 Index = 8
705 LookupCache = False
706 ProviderFlags = [pfInUpdate, pfInWhere]
707 ReadOnly = False
708 Required = True
709 Size = 15
710 end
711 object EmployeesSALARY: TIBBCDField
712 DisplayWidth = 18
713 FieldKind = fkData
714 FieldName = 'SALARY'
715 Index = 9
716 LookupCache = False
717 ProviderFlags = [pfInUpdate, pfInWhere]
718 ReadOnly = False
719 Required = True
720 OnGetText = EmployeesSALARYGetText
721 Precision = 18
722 Currency = False
723 MaxValue = 0
724 MinValue = 0
725 Size = 2
726 end
727 object EmployeesFULL_NAME: TIBStringField
728 DisplayWidth = 37
729 FieldKind = fkData
730 FieldName = 'FULL_NAME'
731 Index = 10
732 LookupCache = False
733 ProviderFlags = [pfInUpdate, pfInWhere]
734 ReadOnly = True
735 Required = False
736 Size = 37
737 end
738 object EmployeesDEPT_PATH: TIBStringField
739 DisplayWidth = 256
740 FieldKind = fkData
741 FieldName = 'DEPT_PATH'
742 Index = 11
743 LookupCache = False
744 ProviderFlags = [pfInUpdate, pfInWhere]
745 ReadOnly = False
746 Required = True
747 Size = 256
748 end
749 object EmployeesDEPT_KEY_PATH: TIBStringField
750 DisplayWidth = 64
751 FieldKind = fkData
752 FieldName = 'DEPT_KEY_PATH'
753 Index = 12
754 LookupCache = False
755 ProviderFlags = [pfInUpdate, pfInWhere]
756 ReadOnly = False
757 Required = True
758 Size = 64
759 end
760 object EmployeesJOB_TITLE: TIBStringField
761 DisplayWidth = 25
762 FieldKind = fkData
763 FieldName = 'JOB_TITLE'
764 Index = 13
765 LookupCache = False
766 ProviderFlags = [pfInUpdate, pfInWhere]
767 ReadOnly = False
768 Required = True
769 Size = 25
770 end
771 end
772 end