📄 frmmainvis.frm
字号:
ElseIf GridBilling.TextMatrix(i, 7) = setPelajar Then
If Val(Format(durasi(i), "nn")) / intervalpel >= ataspel(i) And Val(Format(durasi(i), "nn")) / intervalpel <= bawahpel(i) Then
biaya(i) = Round((Val(Mid(Format(durasi(i), "hh:nn:ss"), 1, 2)) * harga_pelajar * 60 / intervalpel) + (bawahpel(i) * harga_pelajar), 2)
biaya_disc(i) = Round(((Val(Mid(Format(durasi_disc(i), "hh:nn:ss"), 1, 2)) * harga_pelajar * 60 / intervalpel) + (bawahpel(i) * harga_pelajar)) * Discount / 100, 2)
End If
If biaya(i) <= harga_awal Then
biaya(i) = harga_awal
End If
ElseIf GridBilling.TextMatrix(i, 7) = setMember Then
If Val(Format(durasi(i), "nn")) / intervalmem >= atasmem(i) And Val(Format(durasi(i), "nn")) / intervalmem <= bawahmem(i) Then
biaya(i) = Round((Val(Mid(Format(durasi(i), "hh:nn:ss"), 1, 2)) * harga_member * 60 / intervalmem) + (bawahmem(i) * harga_member), 2)
biaya_disc(i) = Round(((Val(Mid(Format(durasi_disc(i), "hh:nn:ss"), 1, 2)) * harga_member * 60 / intervalmem) + (bawahmem(i) * harga_member)) * Discount / 100, 2)
End If
If biaya(i) <= harga_awal Then
biaya(i) = harga_awal
End If
ElseIf GridBilling.TextMatrix(i, 7) = "admin" Then
biaya(i) = 0
biaya_disc(i) = 0
ElseIf GridBilling.TextMatrix(i, 7) = setGame Then
If Val(Format(durasi(i), "nn")) / intervalgam >= atasgam(i) And Val(Format(durasi(i), "nn")) / intervalgam <= bawahgam(i) Then
biaya(i) = Round((Val(Mid(Format(durasi(i), "hh:nn:ss"), 1, 2)) * harga_game * 60 / intervalgam) + (bawahgam(i) * harga_game), 2)
biaya_disc(i) = Round(((Val(Mid(Format(durasi_disc(i), "hh:nn:ss"), 1, 2)) * harga_game * 60 / intervalgam) + (bawahgam(i) * harga_game)) * Discount / 100, 2)
End If
If biaya(i) <= harga_awal Then
biaya(i) = harga_awal
End If
ElseIf GridBilling.TextMatrix(i, 7) = setKetik Then
If Val(Format(durasi(i), "nn")) / intervalmen >= atasmen(i) And Val(Format(durasi(i), "nn")) / intervalmen <= bawahmen(i) Then
biaya(i) = Round((Val(Mid(Format(durasi(i), "hh:nn:ss"), 1, 2)) * harga_ketik * 60 / intervalmen) + (bawahmen(i) * harga_ketik), 2)
biaya_disc(i) = Round(((Val(Mid(Format(durasi_disc(i), "hh:nn:ss"), 1, 2)) * harga_ketik * 60 / intervalmen) + (bawahmen(i) * harga_ketik)) * Discount / 100, 2)
End If
If biaya(i) <= harga_awal Then
biaya(i) = harga_awal
End If
End If
total(i) = biaya(i) - biaya_disc(i)
GridBilling.TextMatrix(i, 5) = Format(durasi(i), "hh:nn:ss")
GridBilling.TextMatrix(i, 6) = Format(biaya(i), "##,##0.00")
GridBilling.TextMatrix(i, 8) = Format(biaya_disc(i), "##,##0.00")
GridBilling.TextMatrix(i, 9) = Format(total(i), "##,##0.00")
End If
Next i
Else
For i = 1 To ClientMax
If GridBilling.TextMatrix(i, 3) = setAktif Then
durasi(i) = Now - mulai(i)
atas(i) = Int(Val(Format(durasi(i), "nn")) / interval)
ataspel(i) = Int(Val(Format(durasi(i), "nn")) / intervalpel)
atasmem(i) = Int(Val(Format(durasi(i), "nn")) / intervalmem)
atasgam(i) = Int(Val(Format(durasi(i), "nn")) / intervalgam)
atasmen(i) = Int(Val(Format(durasi(i), "nn")) / intervalmen)
bawah(i) = atas(i) + 1
bawahpel(i) = ataspel(i) + 1
bawahmem(i) = atasmem(i) + 1
bawahgam(i) = atasgam(i) + 1
bawahmen(i) = atasmen(i) + 1
If GridBilling.TextMatrix(i, 7) = setPersonal Then
If Val(Format(durasi(i), "nn")) / interval >= atas(i) And Val(Format(durasi(i), "nn")) / interval <= bawah(i) Then
biaya(i) = Round((Val(Mid(Format(durasi(i), "hh:nn:ss"), 1, 2)) * harga_personal * 60 / interval) + (bawah(i) * harga_personal), 2)
End If
If biaya(i) <= harga_awal Then
biaya(i) = harga_awal
End If
ElseIf GridBilling.TextMatrix(i, 7) = setPelajar Then
If Val(Format(durasi(i), "nn")) / intervalpel >= ataspel(i) And Val(Format(durasi(i), "nn")) / intervalpel <= bawahpel(i) Then
biaya(i) = Round((Val(Mid(Format(durasi(i), "hh:nn:ss"), 1, 2)) * harga_pelajar * 60 / intervalpel) + (bawahpel(i) * harga_pelajar), 2)
End If
If biaya(i) <= harga_awal Then
biaya(i) = harga_awal
End If
ElseIf GridBilling.TextMatrix(i, 7) = setMember Then
If Val(Format(durasi(i), "nn")) / intervalmem >= atasmem(i) And Val(Format(durasi(i), "nn")) / intervalmem <= bawahmem(i) Then
biaya(i) = Round((Val(Mid(Format(durasi(i), "hh:nn:ss"), 1, 2)) * harga_member * 60 / intervalmem) + (bawahmem(i) * harga_member), 2)
End If
If biaya(i) <= harga_awal Then
biaya(i) = harga_awal
End If
ElseIf GridBilling.TextMatrix(i, 7) = "admin" Then
biaya(i) = 0
biaya_disc(i) = 0
ElseIf GridBilling.TextMatrix(i, 7) = setGame Then
If Val(Format(durasi(i), "nn")) / intervalgam >= atasgam(i) And Val(Format(durasi(i), "nn")) / intervalgam <= bawahgam(i) Then
biaya(i) = Round((Val(Mid(Format(durasi(i), "hh:nn:ss"), 1, 2)) * harga_game * 60 / intervalgam) + (bawahgam(i) * harga_game), 2)
End If
If biaya(i) <= harga_awal Then
biaya(i) = harga_awal
End If
ElseIf GridBilling.TextMatrix(i, 7) = setKetik Then
If Val(Format(durasi(i), "nn")) / intervalmen >= atasmen(i) And Val(Format(durasi(i), "nn")) / intervalmen <= bawahmen(i) Then
biaya(i) = Round((Val(Mid(Format(durasi(i), "hh:nn:ss"), 1, 2)) * harga_ketik * 60 / intervalmen) + (bawahmen(i) * harga_ketik), 2)
End If
If biaya(i) <= harga_awal Then
biaya(i) = harga_awal
End If
End If
total(i) = biaya(i) - biaya_disc(i)
GridBilling.TextMatrix(i, 5) = Format(durasi(i), "hh:nn:ss")
GridBilling.TextMatrix(i, 6) = Format(biaya(i), "#,###")
GridBilling.TextMatrix(i, 8) = Format(biaya_disc(i), "#,###")
GridBilling.TextMatrix(i, 9) = Format(total(i), "#,###")
End If
Next i
End If
End Sub
Private Sub TimerPindah_Timer()
On Error Resume Next
For i = 1 To ClientMax
If GridBilling.TextMatrix(i, 3) = "pindah" Then
cn.Open
cmd.ActiveConnection = cn
cmd.CommandType = adCmdText
cmd.CommandText = "SELECT proses.* FROM proses WHERE proses.no_client = " & i
cmd.Execute
rs.ActiveConnection = cn
rs.Open "SELECT proses.* FROM proses WHERE proses.no_client = " & i, cn, adOpenStatic, adLockOptimistic
If Not rs.RecordCount = 0 Then
mulai(i) = rs(4)
If mulai(i) >= startdis Then
disc_mulai(i) = mulai(i)
Else
disc_mulai(i) = startdis
End If
End If
cn.Close
GridBilling.TextMatrix(i, 4) = Format(mulai(i), "hh:nn:ss")
GridBilling.TextMatrix(i, 3) = setAktif
End If
Next i
End Sub
Private Sub TimerStart_Timer()
On Error Resume Next
For i = 1 To ClientMax
If GridBilling.TextMatrix(i, 3) = "start" Then
GridBilling.TextMatrix(i, 4) = Format(Now, "hh:nn:ss")
durasi(i) = CDate("00:00:00")
durasi_disc(i) = CDate("00:00:00")
mulai(i) = Now
If Now >= startdis Then
disc_mulai(i) = Now
Else
disc_mulai(i) = startdis
End If
'tulis proses dalam db
cn.Open
cmd.ActiveConnection = cn
cmd.CommandType = adCmdText
cmd.CommandText = "SELECT proses.* FROM proses WHERE proses.no_client = " & i
cmd.Execute
rs.ActiveConnection = cn
rs.Open "SELECT proses.* FROM proses WHERE proses.no_client = " & i, cn, adOpenStatic, adLockOptimistic
If Not rs.RecordCount = 0 Then
rs(0) = i 'no client
rs(3) = GridBilling.TextMatrix(i, 2) 'user
rs(1) = "aktif" 'status
If GridBilling.TextMatrix(i, 7) = setPersonal Then
rs(2) = "personal"
ElseIf GridBilling.TextMatrix(i, 7) = setMember Then
rs(2) = "member"
ElseIf GridBilling.TextMatrix(i, 7) = setPelajar Then
rs(2) = "pelajar"
ElseIf GridBilling.TextMatrix(i, 7) = setGame Then
rs(2) = "game"
ElseIf GridBilling.TextMatrix(i, 7) = setKetik Then
rs(2) = "ketik"
End If
rs(4) = Now
rs.Update
Else
rs.AddNew
rs(0) = i 'no client
rs(3) = GridBilling.TextMatrix(i, 2) 'user
rs(1) = "aktif" 'status
If GridBilling.TextMatrix(i, 7) = setPersonal Then
rs(2) = "personal"
ElseIf GridBilling.TextMatrix(i, 7) = setPelajar Then
rs(2) = "pelajar"
ElseIf GridBilling.TextMatrix(i, 7) = setMember Then
rs(2) = "member"
ElseIf GridBilling.TextMatrix(i, 7) = setGame Then
rs(2) = "game"
ElseIf GridBilling.TextMatrix(i, 7) = setKetik Then
rs(2) = "ketik"
End If
rs(4) = Now
rs.Update
End If
cn.Close
GridBilling.TextMatrix(i, 3) = setAktif
End If
Next i
End Sub
Private Sub TimerStop_Timer()
On Error Resume Next
For i = 1 To ClientMax
If GridBilling.TextMatrix(i, 3) = "stop" Then
'tulis billing dalam db
cn.Open
cmd.ActiveConnection = cn
cmd.CommandType = adCmdText
cmd.CommandText = "SELECT billing.* FROM billing"
cmd.Execute
rs.ActiveConnection = cn
rs.Open "SELECT billing.* FROM billing", cn, adOpenStatic, adLockOptimistic
rs.AddNew
rs(1) = Format(Date, "dd-mm-yyyy") 'tanggal
rs(2) = i 'no client
rs(3) = GridBilling.TextMatrix(i, 2) 'user
rs(4) = Format(mulai(i), "hh:nn:ss") ' mulai
rs(5) = Format(Now, "hh:nn:ss") ' selesai
rs(6) = Format(durasi(i), "hh:nn:ss") ' durasi
rs(7) = total(i) 'total
rs(8) = Format(Date, "mm") 'bulan
rs(9) = Format(Date, "yyyy") 'tahun
If GridBilling.TextMatrix(i, 7) = setPersonal Then 'jenis
rs(10) = "personal"
ElseIf GridBilling.TextMatrix(i, 7) = setPelajar Then
rs(10) = "pelajar"
ElseIf GridBilling.TextMatrix(i, 7) = setMember Then
rs(10) = "member"
ElseIf GridBilling.TextMatrix(i, 7) = setGame Then
rs(10) = "game"
ElseIf GridBilling.TextMatrix(i, 7) = setKetik Then
rs(10) = "ketik"
End If
rs.Update
cn.Close
'tulis proses dalam db
cn.Open
cmd.ActiveConnection = cn
cmd.CommandType = adCmdText
cmd.CommandText = "SELECT proses.* FROM proses WHERE proses.no_client = " & i
cmd.Execute
rs.ActiveConnection = cn
rs.Open "SELECT proses.* FROM proses WHERE proses.no_client = " & i, cn, adOpenStatic, adLockOptimistic
If Not rs.RecordCount = 0 Then
rs(0) = i 'no client
rs(3) = GridBilling.TextMatrix(i, 2) 'user
rs(1) = "bebas"
rs(4) = Now
If GridBilling.TextMatrix(i, 7) = setPersonal Then 'jenis
rs(2) = "personal"
ElseIf GridBilling.TextMatrix(i, 7) = setPelajar Then
rs(2) = "pelajar"
ElseIf GridBilling.TextMatrix(i, 7) = setMember Then
rs(2) = "member"
ElseIf GridBilling.TextMatrix(i, 7) = setGame Then
rs(2) = "game"
ElseIf GridBilling.TextMatrix(i, 7) = setKetik Then
rs(2) = "ketik"
End If
rs.Update
Else
rs.AddNew
rs(0) = i 'no client
rs(3) = GridBilling.TextMatrix(i, 2) 'user
rs(1) = "bebas"
rs(4) = Now
If GridBilling.TextMatrix(i, 7) = setPersonal Then 'jenis
rs(2) = "personal"
ElseIf GridBilling.TextMatrix(i, 7) = setMember Then
rs(2) = "member"
ElseIf GridBilling.TextMatrix(i, 7) = setPelajar Then
rs(2) = "pelajar"
ElseIf GridBilling.TextMatrix(i, 7) = setGame Then
rs(2) = "game"
ElseIf GridBilling.TextMatrix(i, 7) = setKetik Then
rs(2) = "ketik"
End If
rs.Update
End If
cn.Close
If GridBilling.TextMatrix(i, 7) = setMember Then
'update deposit member
cn.Open
cmd.ActiveConnection = cn
cmd.CommandType = adCmdText
cmd.CommandText = "SELECT member.* FROM member WHERE member.user = '" & GridBilling.TextMatrix(i, 2) & "'"
cmd.Execute
rs.ActiveConnection = cn
rs.Open "SELECT member.* FROM member WHERE member.user = '" & GridBilling.TextMatrix(i, 2) & "'", cn, adOpenStatic, adLockOptimistic
If Not rs.RecordCount = 0 Then
rs(5) = rs(5) - total(i)
rs.Update
End If
cn.Close
End If
GridBilling.TextMatrix(i, 3) = setBebas
End If
Next i
End Sub
Private Sub TimerUtama_Timer()
tgl.Caption = Format(Date, "dddd, dd mmmm yyyy")
jam.Caption = Format(Time, "hh:nn:ss")
End Sub
Private Sub AturGrid()
On Error Resume Next
GridBilling.Rows = ClientMax + 1
GridBilling.ColWidth(0) = 300
For i = 1 To ClientMax
GridBilling.TextMatrix(i, 0) = i
Next i
GridBilling.TextMatrix(0, 0) = "No."
GridBilling.TextMatrix(0, 1) = setClient
GridBilling.TextMatrix(0, 2) = setNamaUser
GridBilling.TextMatrix(0, 3) = setStatus
GridBilling.TextMatrix(0, 4) = setMulai
GridBilling.TextMatrix(0, 5) = setDurasi
GridBilling.TextMatrix(0, 6) = setBiaya
GridBilling.TextMatrix(0, 7) = setJenis
GridBilling.TextMatrix(0, 8) = setDiscount
GridBilling.TextMatrix(0, 9) = setTotal
GridBilling.ColWidth(0) = 480
GridBilling.ColWidth(1) = 1500
GridBilling.ColWidth(2) = 2000
GridBilling.ColWidth(3) = 1600
GridBilling.ColWidth(4) = 1500
GridBilling.ColWidth(5) = 1600
GridBilling.ColWidth(6) = 1400
GridBilling.ColWidth(7) = 1200
GridBilling.ColWidth(8) = 1200
GridBilling.ColWidth(9) = 1750
End Sub
Private Sub CekTemp()
On Error Resume Next
startdis = CDate(Format(Time, "hh:mm:ss") & " " & jam_awal)
If CDate(jam_akhir) < CDate(jam_awal) Then
findis = CDate(Format(Time + 1, "hh:mm:ss") & " " & jam_akhir)
Else
findis = CDate(Format(Time, "hh:mm:ss") & " " & jam_akhir)
End If
For i = 1 To ClientMax
cn.Open
cmd.ActiveConnection = cn
cmd.CommandType = adCmdText
cmd.CommandText = "SELECT proses.* FROM proses WHERE proses.no_client = " & i & " AND proses.status = 'aktif'"
cmd.Execute
rs.ActiveConnection = cn
rs.Open "SELECT proses.* FROM proses WHERE proses.no_client = " & i & " AND proses.status = 'aktif'", cn, adOpenStatic, adLockOptimistic
If Not rs.RecordCount = 0 Then
mulai(i) = CDate(rs(4))
If mulai(i) >= startdis Then
disc_mulai(i) = mulai(i)
Else
disc_mulai(i) = startdis
End If
GridBilling.TextMatrix(i, 1) = setClient & rs(0) ' no client
GridBilling.TextMatrix(i, 2) = rs(3) 'user
If rs(1) = "aktif" Then
GridBilling.TextMatrix(i, 3) = setAktif 'status
ElseIf rs(1) = "bebas" Then
GridBilling.TextMatrix(i, 1) = setClient
End If
GridBilling.Col = 1
GridBilling.Row = i
GridBilling.CellBackColor = &H3CFFA7
GridBilling.Col = 2
GridBilling.Row = i
GridBilling.CellBackColor = &H3CFFA7
GridBilling.Col = 3
GridBilling.Row = i
GridBilling.CellBackColor = &H3CFFA7
GridBilling.Col = 4
GridBilling.Row = i
GridBilling.CellBackColor = &H3CFFA7
GridBilling.Col = 5
GridBilling.Row = i
GridBilling.CellBackColor = &H3CFFA7
Grid
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -