1 |
object Form1: TForm1 |
2 |
Left = 813 |
3 |
Height = 575 |
4 |
Top = 318 |
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.0.4' |
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 = False |
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 |
AfterDelete = EmployeesAfterDelete |
538 |
AfterEdit = EmployeesAfterDelete |
539 |
AfterInsert = EmployeesAfterInsert |
540 |
AfterOpen = EmployeesAfterOpen |
541 |
AfterPost = EmployeesAfterPost |
542 |
BeforeClose = EmployeesBeforeClose |
543 |
BeforeOpen = EmployeesBeforeOpen |
544 |
BufferChunks = 1000 |
545 |
CachedUpdates = False |
546 |
DeleteSQL.Strings = ( |
547 |
'Delete From EMPLOYEE A' |
548 |
'Where A.EMP_NO = :EMP_NO' |
549 |
) |
550 |
InsertSQL.Strings = ( |
551 |
'Insert Into EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY)' |
552 |
'Values(:EMP_NO, :FIRST_NAME, :LAST_NAME, :PHONE_EXT, :HIRE_DATE, :DEPT_NO, :JOB_CODE, :JOB_GRADE, :JOB_COUNTRY, :SALARY)' |
553 |
) |
554 |
RefreshSQL.Strings = ( |
555 |
'with recursive Depts As (' |
556 |
'Select DEPT_NO, DEPARTMENT, HEAD_DEPT, cast(DEPARTMENT as ' |
557 |
'VarChar(256)) as DEPT_PATH,' |
558 |
'cast(DEPT_NO as VarChar(64)) as DEPT_KEY_PATH' |
559 |
'From DEPARTMENT Where HEAD_DEPT is NULL ' |
560 |
'UNION ALL' |
561 |
'Select D.DEPT_NO, D.DEPARTMENT,D. HEAD_DEPT, Depts.DEPT_PATH || '' / '' ' |
562 |
'|| D.DEPARTMENT as DEPT_PATH,' |
563 |
'Depts.DEPT_KEY_PATH || '';'' || D.DEPT_NO as DEPT_KEY_PATH' |
564 |
'From DEPARTMENT D' |
565 |
'JOIN Depts On D.HEAD_DEPT = Depts.DEPT_NO' |
566 |
')' |
567 |
'' |
568 |
'Select A.EMP_NO, A.FIRST_NAME, A.LAST_NAME, A.PHONE_EXT, ' |
569 |
'A.HIRE_DATE, A.DEPT_NO, A.JOB_CODE, ' |
570 |
'A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, D.DEPT_PATH, ' |
571 |
'D.DEPT_KEY_PATH, J.JOB_TITLE' |
572 |
'From EMPLOYEE A' |
573 |
'JOIN Depts D On D.DEPT_NO = A.DEPT_NO' |
574 |
'JOIN JOB J on J.JOB_CODE = A.JOB_CODE' |
575 |
'' |
576 |
'Where A.EMP_NO = :EMP_NO' |
577 |
) |
578 |
SelectSQL.Strings = ( |
579 |
'with recursive Depts As (' |
580 |
'Select DEPT_NO, DEPARTMENT, HEAD_DEPT, cast(DEPARTMENT as ' |
581 |
'VarChar(256)) as DEPT_PATH,' |
582 |
'cast(DEPT_NO as VarChar(64)) as DEPT_KEY_PATH' |
583 |
'From DEPARTMENT Where HEAD_DEPT is NULL ' |
584 |
'UNION ALL' |
585 |
'Select D.DEPT_NO, D.DEPARTMENT,D. HEAD_DEPT, Depts.DEPT_PATH || '' / '' ' |
586 |
'|| D.DEPARTMENT as DEPT_PATH,' |
587 |
'Depts.DEPT_KEY_PATH || '';'' || D.DEPT_NO as DEPT_KEY_PATH' |
588 |
'From DEPARTMENT D' |
589 |
'JOIN Depts On D.HEAD_DEPT = Depts.DEPT_NO' |
590 |
')' |
591 |
'' |
592 |
'Select distinct A.EMP_NO, A.FIRST_NAME, A.LAST_NAME, A.PHONE_EXT, ' |
593 |
'A.HIRE_DATE, A.DEPT_NO, A.JOB_CODE, ' |
594 |
'A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, D.DEPT_PATH, ' |
595 |
'D.DEPT_KEY_PATH, J.JOB_TITLE' |
596 |
'From EMPLOYEE A' |
597 |
'JOIN Depts D On D.DEPT_NO = A.DEPT_NO' |
598 |
'JOIN JOB J on J.JOB_CODE = A.JOB_CODE' |
599 |
'' |
600 |
'Order by A.LAST_NAME' |
601 |
) |
602 |
ModifySQL.Strings = ( |
603 |
'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' |
604 |
'Where A.EMP_NO = :OLD_EMP_NO' |
605 |
) |
606 |
GeneratorField.Generator = 'EMP_NO_GEN' |
607 |
GeneratorField.Field = 'EMP_NO' |
608 |
GeneratorField.ApplyOnEvent = gaeOnNewRecord |
609 |
GenerateParamNames = False |
610 |
DataSetCloseAction = dcSaveChanges |
611 |
AfterTransactionEnd = EmployeesAfterTransactionEnd |
612 |
left = 872 |
613 |
top = 336 |
614 |
object EmployeesEMP_NO: TSmallintField |
615 |
DisplayWidth = 10 |
616 |
FieldKind = fkData |
617 |
FieldName = 'EMP_NO' |
618 |
Index = 0 |
619 |
LookupCache = False |
620 |
ProviderFlags = [pfInUpdate, pfInWhere] |
621 |
ReadOnly = False |
622 |
Required = True |
623 |
end |
624 |
object EmployeesFIRST_NAME: TIBStringField |
625 |
DisplayWidth = 15 |
626 |
FieldKind = fkData |
627 |
FieldName = 'FIRST_NAME' |
628 |
Index = 1 |
629 |
LookupCache = False |
630 |
ProviderFlags = [pfInUpdate, pfInWhere] |
631 |
ReadOnly = False |
632 |
Required = True |
633 |
Size = 15 |
634 |
end |
635 |
object EmployeesLAST_NAME: TIBStringField |
636 |
DisplayWidth = 20 |
637 |
FieldKind = fkData |
638 |
FieldName = 'LAST_NAME' |
639 |
Index = 2 |
640 |
LookupCache = False |
641 |
ProviderFlags = [pfInUpdate, pfInWhere] |
642 |
ReadOnly = False |
643 |
Required = True |
644 |
end |
645 |
object EmployeesPHONE_EXT: TIBStringField |
646 |
Alignment = taRightJustify |
647 |
DisplayWidth = 4 |
648 |
FieldKind = fkData |
649 |
FieldName = 'PHONE_EXT' |
650 |
Index = 3 |
651 |
LookupCache = False |
652 |
ProviderFlags = [pfInUpdate, pfInWhere] |
653 |
ReadOnly = False |
654 |
Required = False |
655 |
Size = 4 |
656 |
end |
657 |
object EmployeesHIRE_DATE: TDateTimeField |
658 |
DisplayWidth = 10 |
659 |
FieldKind = fkData |
660 |
FieldName = 'HIRE_DATE' |
661 |
Index = 4 |
662 |
LookupCache = False |
663 |
ProviderFlags = [pfInUpdate, pfInWhere] |
664 |
ReadOnly = False |
665 |
Required = True |
666 |
end |
667 |
object EmployeesDEPT_NO: TIBStringField |
668 |
DisplayWidth = 3 |
669 |
FieldKind = fkData |
670 |
FieldName = 'DEPT_NO' |
671 |
Index = 5 |
672 |
LookupCache = False |
673 |
ProviderFlags = [pfInUpdate, pfInWhere] |
674 |
ReadOnly = False |
675 |
Required = True |
676 |
Size = 3 |
677 |
end |
678 |
object EmployeesJOB_CODE: TIBStringField |
679 |
DisplayWidth = 5 |
680 |
FieldKind = fkData |
681 |
FieldName = 'JOB_CODE' |
682 |
Index = 6 |
683 |
LookupCache = False |
684 |
ProviderFlags = [pfInUpdate, pfInWhere] |
685 |
ReadOnly = False |
686 |
Required = True |
687 |
Size = 5 |
688 |
end |
689 |
object EmployeesJOB_GRADE: TSmallintField |
690 |
DisplayWidth = 10 |
691 |
FieldKind = fkData |
692 |
FieldName = 'JOB_GRADE' |
693 |
Index = 7 |
694 |
LookupCache = False |
695 |
ProviderFlags = [pfInUpdate, pfInWhere] |
696 |
ReadOnly = False |
697 |
Required = True |
698 |
end |
699 |
object EmployeesJOB_COUNTRY: TIBStringField |
700 |
DisplayWidth = 15 |
701 |
FieldKind = fkData |
702 |
FieldName = 'JOB_COUNTRY' |
703 |
Index = 8 |
704 |
LookupCache = False |
705 |
ProviderFlags = [pfInUpdate, pfInWhere] |
706 |
ReadOnly = False |
707 |
Required = True |
708 |
Size = 15 |
709 |
end |
710 |
object EmployeesSALARY: TIBBCDField |
711 |
DisplayWidth = 18 |
712 |
FieldKind = fkData |
713 |
FieldName = 'SALARY' |
714 |
Index = 9 |
715 |
LookupCache = False |
716 |
ProviderFlags = [pfInUpdate, pfInWhere] |
717 |
ReadOnly = False |
718 |
Required = True |
719 |
OnGetText = EmployeesSALARYGetText |
720 |
Precision = 18 |
721 |
Currency = False |
722 |
MaxValue = 0 |
723 |
MinValue = 0 |
724 |
Size = 2 |
725 |
end |
726 |
object EmployeesFULL_NAME: TIBStringField |
727 |
DisplayWidth = 37 |
728 |
FieldKind = fkData |
729 |
FieldName = 'FULL_NAME' |
730 |
Index = 10 |
731 |
LookupCache = False |
732 |
ProviderFlags = [pfInUpdate, pfInWhere] |
733 |
ReadOnly = True |
734 |
Required = False |
735 |
Size = 37 |
736 |
end |
737 |
object EmployeesDEPT_PATH: TIBStringField |
738 |
DisplayWidth = 256 |
739 |
FieldKind = fkData |
740 |
FieldName = 'DEPT_PATH' |
741 |
Index = 11 |
742 |
LookupCache = False |
743 |
ProviderFlags = [pfInUpdate, pfInWhere] |
744 |
ReadOnly = False |
745 |
Required = True |
746 |
Size = 256 |
747 |
end |
748 |
object EmployeesDEPT_KEY_PATH: TIBStringField |
749 |
DisplayWidth = 64 |
750 |
FieldKind = fkData |
751 |
FieldName = 'DEPT_KEY_PATH' |
752 |
Index = 12 |
753 |
LookupCache = False |
754 |
ProviderFlags = [pfInUpdate, pfInWhere] |
755 |
ReadOnly = False |
756 |
Required = True |
757 |
Size = 64 |
758 |
end |
759 |
object EmployeesJOB_TITLE: TIBStringField |
760 |
DisplayWidth = 25 |
761 |
FieldKind = fkData |
762 |
FieldName = 'JOB_TITLE' |
763 |
Index = 13 |
764 |
LookupCache = False |
765 |
ProviderFlags = [pfInUpdate, pfInWhere] |
766 |
ReadOnly = False |
767 |
Required = True |
768 |
Size = 25 |
769 |
end |
770 |
end |
771 |
end |