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