CREATING A SIMPLE Payroll using VB 6.0

 




 I suggest that you make a Graphical User Interface them click the buttons and start coding :)

Follow the codes below :

Option Explicit
     Dim sglHours As Single
     Dim sglHrsOT As Single
     Dim sglHrlyRate As Single
     Dim sglGrossPay As Single
     Dim sglOTPay As Single
     Dim sglSalTotal As Single
     Dim sglSalNet As Single
     Dim sglTax As Single
     Dim sglTaxRate As Single
     Dim strName As String, strProv As String
          
Private Sub cmdCancel_Click()
     ClearAll
End Sub

Private Sub cmdExit_Click()
    End
End Sub

Private Sub Form_Load()
     ClearAll
    
     'Show current date
     lblDate.Caption = Format(Date, " dddd, dd mmmm yyyy")
    
     lstProv.AddItem "Ontario"
     lstProv.AddItem "Quebec"
     lstProv.AddItem "Manitoba"
     lstProv.AddItem "Nova Scotia"
     ' "Sorted" property of ListBox is set to True
End Sub

Private Sub ClearAll()
    'Initialize strings with ""
    ' and numeric with 0
   
    txtName.Text = ""
    txtHrlyRate.Text = 0
    txtHours.Text = 0
    lblTax.Caption = ""
    lblSalGross.Caption = ""
    lblSalNet.Caption = ""
    lblOTHrs = ""
    lblHrsReg = ""
    lblSalOT = ""
    lblTaxRate = ""
    sglGrossPay = 0
    sglOTPay = 0
    sglSalNet = 0
    sglSalTotal = 0
    sglHrsOT = 0
    lstProv.ListIndex = -1  'means no item in list is selected
End Sub

Private Sub lblDate_Click()

End Sub

Private Sub mnuCenter_Click()
    'Me refers to current active form
   
    Me.Width = 6500
    Me.Height = 7000
    Me.Left = (Screen.Width - Me.Width) / 2
    Me.Top = (Screen.Height - Me.Height) / 2
End Sub

Private Sub mnuForm2_Click()
    Load frmPay2
    frmPay2.Show
End Sub

Private Sub mnuPrint_Click()
    Me.PrintForm
End Sub

Private Sub mnuMax_Click()
    Me.WindowState = 2
End Sub

Private Sub mnuRestore_Click()
    Me.WindowState = 0
End Sub

Private Sub txtName_Change()
    strName = txtName.Text
End Sub

Private Sub txtName_GotFocus()
    FocusIn
End Sub

Private Sub txtHours_Change()
    If Not IsNumeric(txtHours.Text) Then
        MsgBox ("Must be numeric!")
    End If
End Sub

Private Sub txtHours_GotFocus()
    FocusIn
End Sub

Private Sub txtHrlyRate_Change()
    If Not IsNumeric(txtHrlyRate.Text) Then
        MsgBox ("Must be numeric!")
    End If
End Sub
   
Private Sub txtHrlyRate_GotFocus()
    FocusIn
End Sub

Private Sub txtHrlyRate_Validate(Cancel As Boolean)
    If txtHrlyRate < 1 Or txtHrlyRate > 50 Then
        MsgBox ("Hourly rate must be between 1 and 50")
        Cancel = True
        'cancel = true keeps cursor in textbox
        'until valid value is input
    End If
End Sub

Private Sub txtHours_Validate(Cancel As Boolean)
    If txtHours < 1 Or txtHours > 100 Then
        MsgBox ("Hours must be between 1 and 100")
        Cancel = True
    End If
End Sub

Private Sub lstProv_Click()
    strProv = lstProv.Text
   
    'Whenever possible, use Select Case instead of If...Then...Else
    Select Case strProv
        Case "Ontario"
            sglTaxRate = 0.3
        Case "Quebec"
            sglTaxRate = 0.28
        Case Else
            sglTaxRate = 0.33
    End Select
   
End Sub

Private Sub cmdCalc_Click()
    If txtName.Text = "" Then
        MsgBox ("You must enter an employee name")
        txtName.SetFocus   'put cursor in textbox
        Exit Sub
    End If
   
    If txtHours.Text = 0 Then
        MsgBox ("Enter the hours, between 1 and 100")
        txtHours.SetFocus
        Exit Sub
    End If
   
    If txtHrlyRate.Text = 0 Then
        MsgBox ("Enter the hourly rate, between 1 and 50")
        txtHrlyRate.SetFocus
        Exit Sub
    End If
   
    sglHrlyRate = txtHrlyRate.Text
    sglHours = txtHours.Text
   
    sglGrossPay = sglHours * sglHrlyRate
   
    'Overtime pay is calculated at 1.5 * hourly rate
    'for all hours over 40
   
    If sglHours > 40 Then
        sglGrossPay = 40 * sglHrlyRate
        sglHrsOT = sglHours - 40
        sglHours = 40
        sglOTPay = sglHrsOT * sglHrlyRate * 1.5
    End If
   
    sglSalTotal = sglGrossPay + sglOTPay
    sglTax = sglSalTotal * sglTaxRate
    sglSalNet = sglSalTotal - sglTax
   
    lblHrsReg.Caption = Format(sglHours, "#0.00")
    lblSalGross.Caption = Format(sglGrossPay, "currency")
    lblSalOT.Caption = Format(sglOTPay, "currency")
    lblOTHrs.Caption = Format(sglHrsOT, "#0.00")
    lblTax.Caption = Format(sglTax, "currency")
    lblSalNet.Caption = Format(sglSalNet, "currency")
    lblTaxRate.Caption = Format(sglTaxRate, "percent")
       
End Sub

Private Sub FocusIn()
    ActiveControl.SelStart = 0
    ActiveControl.SelLength = Len(ActiveControl.Text)
End Sub

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

9 comments:

Unknown said...

Good

Unknown said...

ms access need?

Unknown said...

good

YouLoseBellyFat said...

C++ Codes for Students

Unknown said...

I.need more codes samples for payroll.. Im doing my thesis.. and thanks for sharing .. I hope it'll help. :-)

rajan said...

Access App is available on sourcecodester.com

rajan said...

Access App is available on sourcecodester.com

Mel said...

Thank you, it help much.....

Unknown said...

Thankz much

Post a Comment