home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 February / PCWK0296.iso / po7_win / object10 / raise.frm < prev    next >
Text File  |  1994-10-20  |  6KB  |  196 lines

  1. VERSION 2.00
  2. Begin Form frmRaise 
  3.    BorderStyle     =   3  'Fixed Double
  4.    Caption         =   "Give Raises"
  5.    ClientHeight    =   3000
  6.    ClientLeft      =   1440
  7.    ClientTop       =   1785
  8.    ClientWidth     =   7020
  9.    Height          =   3405
  10.    Left            =   1380
  11.    LinkTopic       =   "Form1"
  12.    MaxButton       =   0   'False
  13.    ScaleHeight     =   3000
  14.    ScaleWidth      =   7020
  15.    Top             =   1440
  16.    Width           =   7140
  17.    Begin OraData EmpData 
  18.       AllowMoveLast   =   -1  'True
  19.       AutoBinding     =   -1  'True
  20.       Caption         =   "OraData1"
  21.       Connect         =   "scott/tiger"
  22.       DatabaseName    =   "exampledb"
  23.       Height          =   270
  24.       HiddenName      =   "EmpData"
  25.       Left            =   0
  26.       Options         =   0
  27.       ReadOnly        =   0   'False
  28.       RecordSource    =   ""
  29.       TabIndex        =   8
  30.       Top             =   0
  31.       TrailingBlanks  =   0   'False
  32.       Visible         =   0   'False
  33.       Width           =   1155
  34.    End
  35.    Begin CommandButton cmdExit 
  36.       Caption         =   "Exit"
  37.       Height          =   495
  38.       Left            =   4800
  39.       TabIndex        =   6
  40.       Top             =   2400
  41.       Width           =   1215
  42.    End
  43.    Begin TgDemo Table1 
  44.       AllowArrows     =   -1  'True
  45.       AllowTabs       =   -1  'True
  46.       DataSource      =   "EmpData"
  47.       Editable        =   -1  'True
  48.       EditDropDown    =   -1  'True
  49.       ExposeCellMode  =   0  'Expose upon selection
  50.       FetchMode       =   0  'By cell
  51.       HeadingHeight   =   1
  52.       Height          =   1815
  53.       HorzLines       =   0  'None
  54.       Layout          =   RAISE.FRX:0000
  55.       LayoutIndex     =   1
  56.       Left            =   120
  57.       LinesPerRow     =   1
  58.       MarqueeUnique   =   -1  'True
  59.       SplitPropsGlobal=   -1  'True
  60.       SplitTabMode    =   0  'Don't tab across splits
  61.       TabCapture      =   0   'False
  62.       TabIndex        =   2
  63.       Top             =   1080
  64.       UseBookmarks    =   -1  'True
  65.       Width           =   3975
  66.       WrapCellPointer =   0   'False
  67.    End
  68.    Begin Frame Frame1 
  69.       Caption         =   "Raise Amount"
  70.       Height          =   2175
  71.       Left            =   4200
  72.       TabIndex        =   7
  73.       Top             =   120
  74.       Width           =   2655
  75.       Begin CommandButton cmdRaiseRandom 
  76.          Caption         =   "Random"
  77.          Height          =   375
  78.          Left            =   1440
  79.          TabIndex        =   4
  80.          Top             =   960
  81.          Width           =   975
  82.       End
  83.       Begin CommandButton cmdRaise200 
  84.          Caption         =   "$200"
  85.          Height          =   375
  86.          Left            =   360
  87.          TabIndex        =   5
  88.          Top             =   1440
  89.          Width           =   855
  90.       End
  91.       Begin CommandButton cmdRaise50 
  92.          Caption         =   "$50"
  93.          Height          =   375
  94.          Left            =   360
  95.          TabIndex        =   3
  96.          Top             =   480
  97.          Width           =   855
  98.       End
  99.    End
  100.    Begin TextBox txtDname 
  101.       DataField       =   "dname"
  102.       DataSource      =   "DeptData"
  103.       Height          =   375
  104.       Left            =   840
  105.       TabIndex        =   0
  106.       Top             =   240
  107.       Width           =   2415
  108.    End
  109.    Begin OraData DeptData 
  110.       AllowMoveLast   =   -1  'True
  111.       AutoBinding     =   -1  'True
  112.       Caption         =   " Departments"
  113.       Connect         =   "scott/tiger"
  114.       DatabaseName    =   "ExampleDb"
  115.       Height          =   270
  116.       HiddenName      =   "DeptData"
  117.       Left            =   840
  118.       Options         =   2162688
  119.       ReadOnly        =   0   'False
  120.       RecordSource    =   "select deptno, dname from dept"
  121.       TabIndex        =   1
  122.       Top             =   720
  123.       TrailingBlanks  =   0   'False
  124.       Width           =   2415
  125.    End
  126. End
  127.  
  128. Sub cmdExit_Click ()
  129.  Unload frmRaise
  130.  End
  131. End Sub
  132.  
  133. Sub cmdRaise200_Click ()
  134.  
  135.  dn$ = DeptData.Recordset.Fields("deptno").value
  136.  Call GiveRaise(dn$, 200)
  137.  Call DeptData_Reposition
  138.  
  139. End Sub
  140.  
  141. Sub cmdRaise50_Click ()
  142.  
  143.  dn$ = DeptData.Recordset.Fields("deptno").value
  144.  Call GiveRaise(dn$, 50)
  145.  Call DeptData_Reposition
  146.  
  147. End Sub
  148.  
  149. Sub cmdRaiseRandom_Click ()
  150.  
  151.  dn$ = DeptData.Recordset.Fields("deptno").value
  152.  Call GiveRaise(dn$, -500)
  153.  Call DeptData_Reposition
  154.  
  155. End Sub
  156.  
  157. Sub DeptData_Reposition ()
  158.  EmpData.RecordSource = "Select ename, sal from emp where deptno=" + DeptData.Recordset.Fields("deptno")
  159.  EmpData.Refresh
  160. End Sub
  161.  
  162. '
  163. '  Routine to give raises to employees
  164. '
  165. '  dn is the department number
  166. '  raisen is the amount of the raise.  If raisen is negative, we give random raises
  167. '
  168. Sub GiveRaise (dn$, raisen%)
  169.     Dim mydb As object
  170.     Dim mydyn As object
  171.  
  172.     ' create a dynaset of the employee's salaries
  173.     Set mydb = DeptData.Recordset.Session.CreateDatabase(DeptData.DatabaseName, DeptData.Connect, 0&)
  174.     sql$ = "select empno, sal from emp where deptno = " + dn$
  175.     Set mydyn = mydb.DbCreateDynaset(sql$, 0&)
  176.     
  177.     ' now update all the salaries
  178.     mydyn.DbMoveFirst
  179.  
  180.     While mydyn.EOF = 0
  181.         mydyn.DbEdit ' tell dynaset we're editing this record
  182.         If raisen% >= 0 Then
  183.             ' normal raise
  184.             theraise% = raisen%
  185.         Else
  186.             ' random raise
  187.             theraise% = Int(-raisen% * Rnd)
  188.         End If
  189.         mydyn.Fields("sal").value = mydyn.Fields("sal") + theraise%
  190.         mydyn.DbUpdate ' put into database
  191.         mydyn.DbMoveNext
  192.     Wend
  193.  
  194. End Sub
  195.  
  196.