ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/examples/isqlmonitor/MainForm.lfm
Revision: 45
Committed: Tue Dec 6 10:33:46 2016 UTC (7 years, 4 months ago) by tony
File size: 25729 byte(s)
Log Message:
Committing updates for Release R2-0-0

File Contents

# User Rev Content
1 tony 31 object Form1: TForm1
2     Left = 472
3     Height = 482
4     Top = 372
5     Width = 1002
6     Caption = 'Employee List'
7     ClientHeight = 482
8     ClientWidth = 1002
9     OnClose = FormClose
10     OnShow = FormShow
11 tony 45 LCLVersion = '1.6.0.4'
12 tony 31 object Button1: TButton
13     Left = 915
14     Height = 25
15     Top = 48
16     Width = 75
17     Action = AddEmployee
18     Anchors = [akTop, akRight]
19     TabOrder = 0
20     end
21     object Button2: TButton
22     Left = 915
23     Height = 25
24     Top = 86
25     Width = 75
26     Action = EditEmployee
27     Anchors = [akTop, akRight]
28     TabOrder = 1
29     end
30     object Button3: TButton
31     Left = 915
32     Height = 25
33     Top = 125
34     Width = 75
35     Action = DeleteEmployee
36     Anchors = [akTop, akRight]
37     TabOrder = 2
38     end
39     object Label1: TLabel
40     Left = 17
41     Height = 15
42     Top = 14
43 tony 45 Width = 74
44 tony 31 Caption = 'Started Before'
45     ParentColor = False
46     end
47     object BeforeDate: TDateEdit
48     Left = 112
49 tony 45 Height = 23
50 tony 31 Top = 8
51     Width = 80
52     CalendarDisplaySettings = [dsShowHeadings, dsShowDayNames]
53     OKCaption = 'OK'
54     CancelCaption = 'Cancel'
55     DateOrder = doNone
56     ButtonWidth = 23
57     NumGlyphs = 1
58     MaxLength = 0
59     OnChange = BeforeDateChange
60     TabOrder = 3
61     end
62     object Label2: TLabel
63     Left = 241
64     Height = 15
65     Top = 14
66 tony 45 Width = 66
67 tony 31 Caption = 'Started After'
68     ParentColor = False
69     end
70     object AfterDate: TDateEdit
71     Left = 333
72 tony 45 Height = 23
73 tony 31 Top = 8
74     Width = 80
75     CalendarDisplaySettings = [dsShowHeadings, dsShowDayNames]
76     OKCaption = 'OK'
77     CancelCaption = 'Cancel'
78     DateOrder = doNone
79     ButtonWidth = 23
80     NumGlyphs = 1
81     MaxLength = 0
82     OnChange = BeforeDateChange
83     TabOrder = 4
84     end
85     object Panel1: TPanel
86     Left = 12
87     Height = 434
88     Top = 42
89     Width = 880
90     Anchors = [akTop, akLeft, akRight, akBottom]
91     BevelOuter = bvNone
92     ClientHeight = 434
93     ClientWidth = 880
94     Color = clBackground
95     ParentColor = False
96     TabOrder = 5
97     object IBDynamicGrid1: TIBDynamicGrid
98     Left = 0
99     Height = 384
100     Top = 0
101     Width = 880
102     Align = alClient
103     Color = clWindow
104     Columns = <
105     item
106     Title.Alignment = taCenter
107     Title.Caption = 'Last Name'
108     Width = 100
109     FieldName = 'LAST_NAME'
110     AutoSizeColumn = False
111     InitialSortColumn = False
112     DBLookupProperties.ItemHeight = 0
113     DBLookupProperties.ItemWidth = 0
114     DBLookupProperties.AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
115     end
116     item
117     Title.Alignment = taCenter
118     Title.Caption = 'First Name'
119     Width = 100
120     FieldName = 'FIRST_NAME'
121     AutoSizeColumn = False
122     InitialSortColumn = False
123     DBLookupProperties.ItemHeight = 0
124     DBLookupProperties.ItemWidth = 0
125     DBLookupProperties.AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
126     end
127     item
128     Alignment = taCenter
129     Title.Alignment = taCenter
130     Title.Caption = 'Emp No.'
131     Width = 60
132     FieldName = 'EMP_NO'
133     AutoSizeColumn = False
134     InitialSortColumn = False
135     DBLookupProperties.ItemHeight = 0
136     DBLookupProperties.ItemWidth = 0
137     DBLookupProperties.AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
138     end
139     item
140     ReadOnly = True
141     Title.Alignment = taCenter
142     Title.Caption = 'Dept'
143     Width = 200
144     FieldName = 'DEPT_PATH'
145     AutoSizeColumn = True
146     InitialSortColumn = False
147     DBLookupProperties.ItemHeight = 0
148     DBLookupProperties.ItemWidth = 0
149     DBLookupProperties.AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
150     end
151     item
152     ButtonStyle = cbsPickList
153     Title.Alignment = taCenter
154     Title.Caption = 'Located'
155     Width = 100
156     FieldName = 'JOB_COUNTRY'
157     AutoSizeColumn = False
158     InitialSortColumn = False
159     DBLookupProperties.ItemHeight = 0
160     DBLookupProperties.ItemWidth = 0
161     DBLookupProperties.ListSource = CountrySource
162     DBLookupProperties.ListField = 'COUNTRY'
163     DBLookupProperties.AutoInsert = False
164     DBLookupProperties.AutoComplete = False
165     end
166     item
167     Title.Alignment = taCenter
168     Title.Caption = 'Started'
169     Width = 80
170     FieldName = 'HIRE_DATE'
171     AutoSizeColumn = False
172     InitialSortColumn = False
173     DBLookupProperties.ItemHeight = 0
174     DBLookupProperties.ItemWidth = 0
175     DBLookupProperties.AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
176     end
177     item
178     Title.Alignment = taCenter
179     Title.Caption = 'Salary'
180     Width = 120
181     FieldName = 'SALARY'
182     ColumnTotalsControl = DBText1
183     AutoSizeColumn = False
184     InitialSortColumn = False
185     DBLookupProperties.ItemHeight = 0
186     DBLookupProperties.ItemWidth = 0
187     DBLookupProperties.AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
188     end>
189     DataSource = EmployeeSource
190     Scrollbars = ssAutoBoth
191     TabOrder = 0
192     EditorPanel = EmployeeEditorPanel
193     ExpandEditorPanelBelowRow = False
194     Descending = False
195     EditorBorderStyle = bsSingle
196     DefaultPositionAtEnd = False
197     IndexFieldNames = 'EMP_NO'
198     end
199     object Panel2: TPanel
200     Left = 0
201     Height = 50
202     Top = 384
203     Width = 880
204     Align = alBottom
205     BevelOuter = bvNone
206     ClientHeight = 50
207     ClientWidth = 880
208     ParentColor = False
209     TabOrder = 1
210     object Button5: TButton
211     Left = 80
212     Height = 25
213     Top = 16
214     Width = 75
215     Action = CancelChanges
216     Anchors = [akLeft, akBottom]
217     TabOrder = 0
218     end
219     object Button4: TButton
220     Left = 1
221     Height = 25
222     Top = 16
223     Width = 75
224     Action = SaveChanges
225     Anchors = [akLeft, akBottom]
226     TabOrder = 1
227     end
228     object DBText1: TDBText
229     Left = 688
230     Height = 27
231     Top = 16
232 tony 45 Width = 43
233 tony 31 Alignment = taRightJustify
234     Anchors = [akTop, akLeft, akBottom]
235     DataField = 'TOTALSALARIES'
236     DataSource = TotalsSource
237     ParentColor = False
238     end
239     end
240     object EmployeeEditorPanel: TPanel
241     Left = 8
242     Height = 80
243     Top = 112
244     Width = 784
245     BevelOuter = bvNone
246     BorderWidth = 2
247     BorderStyle = bsSingle
248 tony 45 ClientHeight = 76
249     ClientWidth = 780
250 tony 31 Color = clWindow
251     ParentColor = False
252     TabOrder = 2
253     Visible = False
254     object Label3: TLabel
255     Left = 0
256     Height = 15
257     Top = 7
258 tony 45 Width = 74
259 tony 31 Caption = 'Employee No.'
260     ParentColor = False
261     end
262     object DBEdit1: TDBEdit
263     Left = 90
264 tony 45 Height = 23
265 tony 31 Top = 2
266     Width = 120
267     DataField = 'EMP_NO'
268     DataSource = EmployeeSource
269     CharCase = ecNormal
270     MaxLength = 0
271     TabOrder = 0
272     end
273     object Label4: TLabel
274     Left = 12
275     Height = 15
276     Top = 32
277 tony 45 Width = 57
278 tony 31 Caption = 'First Name'
279     ParentColor = False
280     end
281     object DBEdit2: TDBEdit
282     Left = 90
283 tony 45 Height = 23
284 tony 31 Top = 24
285     Width = 120
286     DataField = 'FIRST_NAME'
287     DataSource = EmployeeSource
288     CharCase = ecNormal
289     MaxLength = 0
290     TabOrder = 1
291     end
292     object Label5: TLabel
293     Left = 12
294     Height = 15
295     Top = 56
296 tony 45 Width = 56
297 tony 31 Caption = 'Last Name'
298     ParentColor = False
299     end
300     object DBEdit3: TDBEdit
301     Left = 90
302 tony 45 Height = 23
303 tony 31 Top = 46
304     Width = 120
305     DataField = 'LAST_NAME'
306     DataSource = EmployeeSource
307     CharCase = ecNormal
308     MaxLength = 0
309     TabOrder = 2
310     end
311     object Label6: TLabel
312     Left = 216
313     Height = 15
314     Top = 7
315 tony 45 Width = 64
316 tony 31 Caption = 'Date Started'
317     ParentColor = False
318     end
319     object IBDateEdit1: TDBDateEdit
320     Left = 300
321 tony 45 Height = 23
322 tony 31 Top = 2
323     Width = 80
324     CalendarDisplaySettings = [dsShowHeadings, dsShowDayNames]
325     OKCaption = 'OK'
326     CancelCaption = 'Cancel'
327     DateOrder = doNone
328     ButtonWidth = 23
329     AutoSelect = False
330     NumGlyphs = 1
331     MaxLength = 0
332     TabOrder = 3
333     DataField = 'HIRE_DATE'
334     DataSource = EmployeeSource
335     end
336     object Label7: TLabel
337     Left = 252
338     Height = 15
339     Top = 32
340 tony 45 Width = 31
341 tony 31 Caption = 'Salary'
342     ParentColor = False
343     end
344     object DBEdit4: TDBEdit
345     Left = 300
346 tony 45 Height = 23
347 tony 31 Top = 24
348     Width = 104
349     DataField = 'SALARY'
350     DataSource = EmployeeSource
351     CharCase = ecNormal
352     MaxLength = 0
353     TabOrder = 5
354     end
355     object Label8: TLabel
356 tony 45 Left = 712
357 tony 31 Height = 15
358     Top = 54
359 tony 45 Width = 18
360 tony 31 Anchors = [akTop, akRight]
361     Caption = 'Ext.'
362     ParentColor = False
363     end
364     object DBEdit5: TDBEdit
365 tony 45 Left = 730
366     Height = 23
367 tony 31 Top = 48
368     Width = 40
369     DataField = 'PHONE_EXT'
370     DataSource = EmployeeSource
371     Anchors = [akTop, akRight]
372     CharCase = ecNormal
373     MaxLength = 0
374     TabOrder = 4
375     end
376     object Label9: TLabel
377     Left = 536
378     Height = 15
379     Top = 7
380 tony 45 Width = 46
381 tony 31 Caption = 'Location'
382     ParentColor = False
383     end
384     object Label10: TLabel
385     Left = 413
386     Height = 15
387     Top = 9
388 tony 45 Width = 52
389 tony 31 Caption = 'Job Grade'
390     ParentColor = False
391     end
392     object JobGradeDBComboBox: TDBComboBox
393     Left = 480
394 tony 45 Height = 23
395 tony 31 Top = 2
396     Width = 48
397     AutoSize = False
398     DataField = 'JOB_GRADE'
399     DataSource = EmployeeSource
400 tony 45 ItemHeight = 15
401 tony 31 Items.Strings = (
402     '1'
403     '2'
404     '3'
405     '4'
406     '5'
407     )
408     MaxLength = 0
409     OnCloseUp = JobGradeDBComboBoxCloseUp
410     Style = csDropDownList
411     TabOrder = 6
412     end
413     object Label11: TLabel
414     Left = 536
415     Height = 15
416     Top = 32
417 tony 45 Width = 44
418 tony 31 Caption = 'Job Title'
419     ParentColor = False
420     end
421     object Label12: TLabel
422     Left = 256
423     Height = 15
424     Top = 54
425 tony 45 Width = 28
426 tony 31 Caption = 'Dept.'
427     ParentColor = False
428     end
429     object SpeedButton1: TSpeedButton
430 tony 45 Left = 678
431 tony 31 Height = 25
432     Top = 48
433     Width = 23
434     Action = SelectDept
435     Anchors = [akTop, akRight]
436     end
437     object DBEdit6: TDBEdit
438     Left = 300
439 tony 45 Height = 23
440 tony 31 Top = 48
441 tony 45 Width = 370
442 tony 31 DataField = 'DEPT_PATH'
443     DataSource = EmployeeSource
444     ReadOnly = True
445     Anchors = [akTop, akLeft, akRight]
446     CharCase = ecNormal
447     MaxLength = 0
448     TabOrder = 7
449     end
450     object IBLookupComboEditBox2: TIBLookupComboEditBox
451     Left = 600
452 tony 45 Height = 23
453 tony 31 Top = 0
454 tony 45 Width = 170
455 tony 31 Anchors = [akTop, akLeft, akRight]
456     AutoSize = False
457     DataField = 'JOB_COUNTRY'
458     DataSource = EmployeeSource
459     KeyField = 'COUNTRY'
460     ListField = 'COUNTRY'
461     ListFieldIndex = 0
462     ListSource = CountrySource
463     LookupCache = False
464     Style = csDropDownList
465     TabOrder = 8
466     AutoInsert = False
467     AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
468 tony 45 ItemHeight = 15
469 tony 31 end
470     object IBLookupComboEditBox1: TIBLookupComboEditBox
471     Left = 600
472 tony 45 Height = 23
473 tony 31 Top = 24
474 tony 45 Width = 170
475 tony 31 Anchors = [akTop, akLeft, akRight]
476     AutoSize = False
477     DataField = 'JOB_CODE'
478     DataSource = EmployeeSource
479     KeyField = 'JOB_CODE'
480     ListField = 'JOB_TITLE'
481     ListFieldIndex = 0
482     ListSource = JobCodeSource
483     LookupCache = False
484     Style = csDropDownList
485     TabOrder = 9
486     AutoInsert = False
487     AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
488 tony 45 ItemHeight = 15
489 tony 31 end
490     end
491     end
492     object Label13: TLabel
493     Left = 456
494     Height = 15
495     Top = 14
496 tony 45 Width = 67
497 tony 31 Caption = 'Salary Range'
498     ParentColor = False
499     end
500     object SalaryRange: TComboBox
501     Left = 544
502 tony 45 Height = 23
503 tony 31 Top = 8
504     Width = 272
505 tony 45 ItemHeight = 15
506 tony 31 ItemIndex = 0
507     Items.Strings = (
508     'None Specified'
509     'Below $40,000'
510     'Between $40,000 and $100,000'
511     'Above $100,000'
512     )
513     OnCloseUp = BeforeDateChange
514     Style = csDropDownList
515     TabOrder = 6
516     Text = 'None Specified'
517     end
518     object IBDatabase1: TIBDatabase
519 tony 45 Connected = True
520 tony 31 AllowStreamedConnected = False
521     DatabaseName = 'localhost:employee'
522     Params.Strings = (
523     'user_name=SYSDBA'
524 tony 33 'lc_ctype=UTF8'
525 tony 45 'user_name=SYSDBA'
526 tony 31 )
527     DefaultTransaction = IBTransaction1
528     IdleTimer = 0
529     TraceFlags = [tfQPrepare, tfStmt, tfConnect]
530 tony 45 UseDefaultSystemCodePage = False
531 tony 31 left = 832
532     top = 168
533     end
534     object IBTransaction1: TIBTransaction
535     Active = False
536     DefaultDatabase = IBDatabase1
537     Params.Strings = (
538     'read_committed'
539     'rec_version'
540     'nowait'
541     )
542     left = 872
543     top = 168
544     end
545     object EmployeeSource: TDataSource
546     DataSet = Employees
547     left = 832
548     top = 336
549     end
550     object ActionList1: TActionList
551     left = 832
552     top = 416
553     object AddEmployee: TAction
554     Caption = 'Add'
555     OnExecute = AddEmployeeExecute
556     end
557     object EditEmployee: TAction
558     Caption = 'Edit'
559     OnExecute = EditEmployeeExecute
560     OnUpdate = EditEmployeeUpdate
561     end
562     object DeleteEmployee: TAction
563     Caption = 'Delete'
564     OnExecute = DeleteEmployeeExecute
565     OnUpdate = EditEmployeeUpdate
566     end
567     object SaveChanges: TAction
568     Caption = 'Save'
569     OnExecute = SaveChangesExecute
570     OnUpdate = SaveChangesUpdate
571     end
572     object CancelChanges: TAction
573     Caption = 'Cancel'
574     OnExecute = CancelChangesExecute
575     OnUpdate = SaveChangesUpdate
576     end
577     object SelectDept: TAction
578     Caption = '...'
579     OnExecute = SelectDeptExecute
580     end
581     end
582     object CountrySource: TDataSource
583     DataSet = Countries
584     left = 832
585     top = 296
586     end
587     object TotalsQuery: TIBQuery
588     Database = IBDatabase1
589     Transaction = IBTransaction1
590     BeforeOpen = EmployeesBeforeOpen
591     BufferChunks = 1000
592     CachedUpdates = False
593     GenerateParamNames = False
594     GeneratorField.ApplyOnEvent = gaeOnNewRecord
595     SQL.Strings = (
596     'Select sum(Salary) as TotalSalaries'
597     'From EMPLOYEE'
598     )
599     Params = <>
600     DataSetCloseAction = dcDiscardChanges
601     left = 872
602     top = 376
603     object TotalsQueryTOTALSALARIES: TIBBCDField
604     DisplayWidth = 18
605     FieldKind = fkData
606     FieldName = 'TOTALSALARIES'
607     Index = 0
608     LookupCache = False
609     ProviderFlags = [pfInUpdate, pfInWhere]
610     ReadOnly = False
611     Required = False
612     OnGetText = EmployeesSALARYGetText
613     Precision = 18
614     Currency = False
615     MaxValue = 0
616     MinValue = 0
617     Size = 2
618     end
619     end
620     object TotalsSource: TDataSource
621     DataSet = TotalsQuery
622     left = 832
623     top = 376
624     end
625     object Employees: TIBDataSet
626     Database = IBDatabase1
627     Transaction = IBTransaction1
628     AfterDelete = EmployeesAfterDelete
629     AfterEdit = EmployeesAfterDelete
630     AfterInsert = EmployeesAfterInsert
631     AfterOpen = EmployeesAfterOpen
632     AfterPost = EmployeesAfterPost
633     AfterScroll = EmployeesAfterScroll
634     BeforeClose = EmployeesBeforeClose
635     BeforeOpen = EmployeesBeforeOpen
636     BufferChunks = 1000
637     CachedUpdates = False
638     DeleteSQL.Strings = (
639     'Delete From EMPLOYEE A'
640     'Where A.EMP_NO = :EMP_NO'
641     )
642     InsertSQL.Strings = (
643     'Insert Into EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY)'
644     'Values(:EMP_NO, :FIRST_NAME, :LAST_NAME, :PHONE_EXT, :HIRE_DATE, :DEPT_NO, :JOB_CODE, :JOB_GRADE, :JOB_COUNTRY, :SALARY)'
645     )
646     RefreshSQL.Strings = (
647     'with recursive Depts As ('
648 tony 45 'Select DEPT_NO, DEPARTMENT, HEAD_DEPT, cast(DEPARTMENT as VarChar'
649     '(256)) as DEPT_PATH,'
650 tony 31 'cast(DEPT_NO as VarChar(64)) as DEPT_KEY_PATH'
651     'From DEPARTMENT Where HEAD_DEPT is NULL '
652     'UNION ALL'
653 tony 45 'Select D.DEPT_NO, D.DEPARTMENT,D. HEAD_DEPT, Depts.DEPT_PATH || '' / '' '
654     '|| D.DEPARTMENT as DEPT_PATH,'
655     'Depts.DEPT_KEY_PATH || '';'' || D.DEPT_NO as DEPT_KEY_PATH'
656     'From DEPARTMENT D'
657     'JOIN Depts On D.HEAD_DEPT = Depts.DEPT_NO'
658 tony 31 ')'
659     ''
660 tony 45 'Select A.EMP_NO, A.FIRST_NAME, A.LAST_NAME, A.PHONE_EXT, '
661     'A.HIRE_DATE, A.DEPT_NO, A.JOB_CODE, '
662     'A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, D.DEPT_PATH, '
663     'D.DEPT_KEY_PATH'
664 tony 31 'From EMPLOYEE A'
665     'JOIN Depts D On D.DEPT_NO = A.DEPT_NO'
666 tony 45 ''
667 tony 31 'Where A.EMP_NO = :EMP_NO'
668     )
669     SelectSQL.Strings = (
670     'with recursive Depts As ('
671 tony 45 'Select DEPT_NO, DEPARTMENT, HEAD_DEPT, cast(DEPARTMENT as '
672     'VarChar(256)) as DEPT_PATH,'
673 tony 31 'cast(DEPT_NO as VarChar(64)) as DEPT_KEY_PATH'
674     'From DEPARTMENT Where HEAD_DEPT is NULL '
675     'UNION ALL'
676 tony 45 'Select D.DEPT_NO, D.DEPARTMENT,D. HEAD_DEPT, Depts.DEPT_PATH || '' / '' '
677     '|| D.DEPARTMENT as DEPT_PATH,'
678     'Depts.DEPT_KEY_PATH || '';'' || D.DEPT_NO as DEPT_KEY_PATH'
679     'From DEPARTMENT D'
680     'JOIN Depts On D.HEAD_DEPT = Depts.DEPT_NO'
681 tony 31 ')'
682     ''
683 tony 45 'Select A.EMP_NO, A.FIRST_NAME, A.LAST_NAME, A.PHONE_EXT, '
684     'A.HIRE_DATE, A.DEPT_NO, A.JOB_CODE, '
685     'A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, D.DEPT_PATH, '
686     'D.DEPT_KEY_PATH'
687 tony 31 'From EMPLOYEE A'
688     'JOIN Depts D On D.DEPT_NO = A.DEPT_NO'
689     )
690     ModifySQL.Strings = (
691     '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'
692     'Where A.EMP_NO = :OLD_EMP_NO'
693     )
694     GeneratorField.Generator = 'EMP_NO_GEN'
695     GeneratorField.Field = 'EMP_NO'
696     GeneratorField.ApplyOnEvent = gaeOnNewRecord
697     GenerateParamNames = False
698     DataSetCloseAction = dcSaveChanges
699     AfterTransactionEnd = EmployeesAfterTransactionEnd
700     OnValidatePost = EmployeesValidatePost
701     left = 872
702     top = 336
703     object EmployeesEMP_NO: TSmallintField
704     DisplayWidth = 10
705     FieldKind = fkData
706     FieldName = 'EMP_NO'
707     Index = 0
708     LookupCache = False
709     ProviderFlags = [pfInUpdate, pfInWhere]
710     ReadOnly = False
711     Required = True
712     end
713     object EmployeesFIRST_NAME: TIBStringField
714     DisplayWidth = 15
715     FieldKind = fkData
716     FieldName = 'FIRST_NAME'
717     Index = 1
718     LookupCache = False
719     ProviderFlags = [pfInUpdate, pfInWhere]
720     ReadOnly = False
721     Required = True
722     Size = 15
723     end
724     object EmployeesLAST_NAME: TIBStringField
725     DisplayWidth = 20
726     FieldKind = fkData
727     FieldName = 'LAST_NAME'
728     Index = 2
729     LookupCache = False
730     ProviderFlags = [pfInUpdate, pfInWhere]
731     ReadOnly = False
732     Required = True
733     end
734     object EmployeesPHONE_EXT: TIBStringField
735     Alignment = taRightJustify
736     DisplayWidth = 4
737     FieldKind = fkData
738     FieldName = 'PHONE_EXT'
739     Index = 3
740     LookupCache = False
741     ProviderFlags = [pfInUpdate, pfInWhere]
742     ReadOnly = False
743     Required = False
744     Size = 4
745     end
746     object EmployeesHIRE_DATE: TDateTimeField
747     DisplayWidth = 10
748     FieldKind = fkData
749     FieldName = 'HIRE_DATE'
750     Index = 4
751     LookupCache = False
752     ProviderFlags = [pfInUpdate, pfInWhere]
753     ReadOnly = False
754     Required = True
755     end
756     object EmployeesDEPT_NO: TIBStringField
757     DisplayWidth = 3
758     FieldKind = fkData
759     FieldName = 'DEPT_NO'
760     Index = 5
761     LookupCache = False
762     ProviderFlags = [pfInUpdate, pfInWhere]
763     ReadOnly = False
764     Required = True
765     Size = 3
766     end
767     object EmployeesJOB_CODE: TIBStringField
768     DisplayWidth = 5
769     FieldKind = fkData
770     FieldName = 'JOB_CODE'
771     Index = 6
772     LookupCache = False
773     ProviderFlags = [pfInUpdate, pfInWhere]
774     ReadOnly = False
775     Required = True
776     OnChange = EmployeesJOB_CODEChange
777     Size = 5
778     end
779     object EmployeesJOB_GRADE: TSmallintField
780     DisplayWidth = 10
781     FieldKind = fkData
782     FieldName = 'JOB_GRADE'
783     Index = 7
784     LookupCache = False
785     ProviderFlags = [pfInUpdate, pfInWhere]
786     ReadOnly = False
787     Required = True
788     OnChange = EmployeesJOB_GRADEChange
789     end
790     object EmployeesJOB_COUNTRY: TIBStringField
791     DisplayWidth = 15
792     FieldKind = fkData
793     FieldName = 'JOB_COUNTRY'
794     Index = 8
795     LookupCache = False
796     ProviderFlags = [pfInUpdate, pfInWhere]
797     ReadOnly = False
798     Required = True
799     Size = 15
800     end
801     object EmployeesSALARY: TIBBCDField
802     DisplayWidth = 18
803     FieldKind = fkData
804     FieldName = 'SALARY'
805     Index = 9
806     LookupCache = False
807     ProviderFlags = [pfInUpdate, pfInWhere]
808     ReadOnly = False
809     Required = True
810     OnGetText = EmployeesSALARYGetText
811     Precision = 18
812     Currency = False
813     MaxValue = 0
814     MinValue = 0
815     Size = 2
816     end
817     object EmployeesFULL_NAME: TIBStringField
818     DisplayWidth = 37
819     FieldKind = fkData
820     FieldName = 'FULL_NAME'
821     Index = 10
822     LookupCache = False
823     ProviderFlags = [pfInUpdate, pfInWhere]
824     ReadOnly = True
825     Required = False
826     Size = 37
827     end
828     object EmployeesDEPT_PATH: TIBStringField
829     DisplayWidth = 256
830     FieldKind = fkData
831     FieldName = 'DEPT_PATH'
832     Index = 11
833     LookupCache = False
834     ProviderFlags = [pfInUpdate, pfInWhere]
835     ReadOnly = False
836     Required = True
837     Size = 256
838     end
839     object EmployeesDEPT_KEY_PATH: TIBStringField
840     DisplayWidth = 64
841     FieldKind = fkData
842     FieldName = 'DEPT_KEY_PATH'
843     Index = 12
844     LookupCache = False
845     ProviderFlags = [pfInUpdate, pfInWhere]
846     ReadOnly = False
847     Required = True
848     Size = 64
849     end
850     end
851     object Countries: TIBQuery
852     Database = IBDatabase1
853     Transaction = IBTransaction1
854     BeforeOpen = CountriesBeforeOpen
855     BufferChunks = 1000
856     CachedUpdates = False
857     GenerateParamNames = False
858     GeneratorField.ApplyOnEvent = gaeOnNewRecord
859     SQL.Strings = (
860     'Select A.COUNTRY, A.CURRENCY From COUNTRY A'
861     'JOIN JOB J On J.JOB_COUNTRY = A.COUNTRY'
862     'Where J.JOB_CODE = :JOB_CODE and J.JOB_GRADE = :JOB_GRADE'
863     'Order by 1'
864     )
865     Params = <
866     item
867     DataType = ftUnknown
868     Name = 'JOB_CODE'
869     ParamType = ptInput
870     end
871     item
872     DataType = ftUnknown
873     Name = 'JOB_GRADE'
874     ParamType = ptInput
875     end>
876     DataSetCloseAction = dcDiscardChanges
877     left = 872
878     top = 296
879     ParamData = <
880     item
881     DataType = ftUnknown
882     Name = 'JOB_CODE'
883     ParamType = ptInput
884     end
885     item
886     DataType = ftUnknown
887     Name = 'JOB_GRADE'
888     ParamType = ptInput
889     end>
890     end
891     object JobCodeSource: TDataSource
892     DataSet = JobCodes
893     left = 832
894     top = 256
895     end
896     object JobCodes: TIBQuery
897     Database = IBDatabase1
898     Transaction = IBTransaction1
899     BeforeOpen = JobCodesBeforeOpen
900     BufferChunks = 1000
901     CachedUpdates = False
902     GenerateParamNames = False
903     GeneratorField.ApplyOnEvent = gaeOnNewRecord
904     SQL.Strings = (
905     'Select A.JOB_CODE, A.JOB_TITLE From JOB A'
906     'Where JOB_COUNTRY = :JOB_COUNTRY and JOB_GRADE = :JOB_GRADE'
907     'Order by Upper(JOB_TITLE)'
908     )
909     Params = <
910     item
911     DataType = ftUnknown
912     Name = 'JOB_COUNTRY'
913     ParamType = ptInput
914     end
915     item
916     DataType = ftUnknown
917     Name = 'JOB_GRADE'
918     ParamType = ptInput
919     end>
920     DataSetCloseAction = dcDiscardChanges
921     left = 872
922     top = 256
923     ParamData = <
924     item
925     DataType = ftUnknown
926     Name = 'JOB_COUNTRY'
927     ParamType = ptInput
928     end
929     item
930     DataType = ftUnknown
931     Name = 'JOB_GRADE'
932     ParamType = ptInput
933     end>
934     end
935     object Depts: TIBQuery
936     Database = IBDatabase1
937     Transaction = IBTransaction1
938     BufferChunks = 1000
939     CachedUpdates = False
940     GenerateParamNames = False
941     GeneratorField.ApplyOnEvent = gaeOnNewRecord
942     SQL.Strings = (
943     'Select A.DEPT_NO, A.DEPARTMENT From DEPARTMENT A'
944     ''
945     'Order by Upper(Department)'
946     )
947     Params = <>
948     DataSetCloseAction = dcDiscardChanges
949     left = 872
950     top = 210
951     end
952     object DeptsSource: TDataSource
953     DataSet = Depts
954     left = 832
955     top = 208
956     end
957     object JobGradeChangeTimer: TTimer
958     Interval = 0
959     OnTimer = JobGradeChangeTimerTimer
960     left = 928
961     top = 175
962     end
963     object JobCodeChangeTimer: TTimer
964     Interval = 0
965     OnTimer = JobCodeChangeTimerTimer
966     left = 927
967     top = 224
968     end
969     end