ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/examples/dbcontrolgrid/unit1.lfm
Revision: 47
Committed: Mon Jan 9 15:31:51 2017 UTC (7 years, 10 months ago) by tony
File size: 19972 byte(s)
Log Message:
Committing updates for Release R2-0-1

File Contents

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