module2.bas
来自「银行定储模拟程序」· BAS 代码 · 共 237 行
BAS
237 行
Attribute VB_Name = "Module2"
Public DBFile As String
Public CurOperator As String
Public OperatorID As String
Public ID As String
Public CurID As Integer
Public PrintName As String
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Sub ShowHelp()
Dim ChmFilePath As String
If Dir(ChmFilePath) <> "" Then
ChmFilePath = App.Path & "\软件帮助说明.CHM"
ShellExecute 0, vbNullString, ChmFilePath, vbNullString, vbNullString, vbNormalFocus
Else
MsgBox "帮助文档没有找到!", vbInformation, "提示"
End If
End Sub
Public Sub NewDataBase()
Dim db As Database
Dim rs As Recordset
Set db = CreateDatabase(App.Path & "\bank.mdb", dbLangGeneral, dbVersion70)
db.Execute "CREATE TABLE [存款记录]([帐号] TEXT(12),[姓名] TEXT(10),[密码] TEXT(6),[地址] TEXT(50),[储种] TEXT(10),[本金] CURRENCY,[存款日期] DATETIME,[是否挂失] BIT,[挂失日期] DATETIME,[营业员] TEXT(10),[工号] TEXT(6));"
db.Execute "CREATE TABLE [取款记录]([帐号] TEXT(12),[姓名] TEXT(10),[密码] TEXT(6),[地址] TEXT(50),[储种] TEXT(10),[本金] CURRENCY,[利息] CURRENCY,[取款金额] CURRENCY,[存款日期] DATETIME,[取款日期] DATETIME,[营业员] TEXT(10),[工号] TEXT(6));"
'db.Execute "CREATE TABLE [备份记录]([名称] TEXT(20),[时间] DATETIME,[路径] TEXT(255))"
db.Close
End Sub
'对闰年2月29日的特别处理
Public Function CashDay(ByVal DateStr As Date, ByVal Kind As String) As Date
Dim TempDate As String
Dim YearNum As Integer
Select Case Kind
Case "定期一年": YearNum = 1
Case "定期三年": YearNum = 3
Case "定期五年": YearNum = 5
End Select
TempDate = Year(DateStr) + YearNum & "/" & Month(DateStr) & "/" & Day(DateStr)
If Month(DateStr) <> "2" And Day(DateStr) <> "29" Then
CashDay = TempDate
Else
CashDay = IIf(IsDate(TempDate), TempDate, Year(DateStr) + YearNum & "/3/1")
End If
End Function
Public Function ShowMoney(ByVal Money As Double, ByVal Kind As String) As Double
Select Case Kind
Case "定期一年": ShowMoney = Money * 0.07 + Money
Case "定期三年": ShowMoney = 3 * Money * 0.08 + Money
Case "定期五年": ShowMoney = 5 * Money * 0.09 + Money
Case Else: ShowMoney = Money * 1.07
End Select
End Function
Public Function ShowLiLu(ByVal Kind As String) As String
Select Case Kind
Case "定期一年": ShowLiLu = 0.07 * 100 & "%"
Case "定期三年": ShowLiLu = 0.08 * 100 & "%"
Case "定期五年": ShowLiLu = 0.09 * 100 & "%"
Case Else: ShowLiLu = 0.07
End Select
End Function
Public Function Generate_IDNum() As String
ID = Year(Now) & Month(Now) & Day(Now)
CurID = Val(GetSetting(App.EXEName, "ID", "IDNum"))
If GetSetting(App.EXEName, "ID", "Date") <> Year(Now) & Month(Now) & Day(Now) Then
'如果不是同一天就重新生成计数
ID = ID & "0001"
Else
If Len(CStr(CurID)) < 4 Then
ID = ID & String$(4 - Len(CStr(CurID)), "0") & CStr(CurID)
Else
ID = ID & CStr(CurID)
End If
End If
Generate_IDNum = ID
End Function
Public Sub ShowFocus(ByVal Ctr As Control)
Ctr.BackColor = &HFF0000
Ctr.ForeColor = &HFFFFFF
Ctr.SelStart = 0
Ctr.SelLength = Len(Ctr)
End Sub
Public Sub LeaveFocus(ByVal Ctr As Control)
Ctr.BackColor = &HFFFFFF
Ctr.ForeColor = &H0
End Sub
Private Function changnum(num As Integer) As String
Select Case num
Case 0
changnum = "零"
Case 1
changnum = "壹"
Case 2
changnum = "贰"
Case 3
changnum = "叁"
Case 4
changnum = "肆"
Case 5
changnum = "伍"
Case 6
changnum = "陆"
Case 7
changnum = "柒"
Case 8
changnum = "捌"
Case 9
changnum = "玖"
End Select
End Function
Public Function changemoney(num) As String
Dim money1 As String
Dim tn
Dim k1 As String
Dim k2 As String
Dim k3 As String
If num = 0 Then
changemoney = " "
Exit Function
End If
If num < 0 Then
changemoney = "负" + changemoney(Abs(num))
Exit Function
End If
money1 = Trim(Str(num))
tn = InStr(money1, ".") '小数位置
k1 = ""
If tn <> 0 Then
ST1 = Right(money1, Len(money1) - tn)
If ST1 <> "" Then
t1 = Left(ST1, 1)
ST1 = Right(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k1 = k1 + changnum(Val(t1)) + "角"
End If
If ST1 <> "" Then
t1 = Left(ST1, 1)
k1 = k1 + changnum(Val(t1)) + "分"
End If
End If
ST1 = Left(money1, tn - 1)
Else
ST1 = money1
End If
k2 = ""
If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
k2 = changnum(Val(t1)) + k2
End If
If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k2 = changnum(Val(t1)) + "拾" + k2
Else
If Left(k2, 1) <> "零" Then k2 = "零" + k2
End If
End If
If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k2 = changnum(Val(t1)) + "佰" + k2
Else
If Left(k2, 1) <> "零" Then k2 = "零" + k2
End If
End If
If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k2 = changnum(Val(t1)) + "仟" + k2
Else
If Left(k2, 1) <> "零" Then k2 = "零" + k2
End If
End If
k3 = ""
If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
k3 = changnum(Val(t1)) + k3
End If
If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k3 = changnum(Val(t1)) + "拾" + k3
Else
If Left(k3, 1) <> "零" Then k3 = "零" + k3
End If
End If
If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k3 = changnum(Val(t1)) + "佰" + k3
Else
If Left(k3, 1) <> "零" Then k3 = "零" + k3
End If
End If
If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k3 = changnum(Val(t1)) + "仟" + k3
End If
End If
If Right(k2, 1) = "零" Then k2 = Left(k2, Len(k2) - 1)
If Len(k3) > 0 Then
If Right(k3, 1) = "零" Then k3 = Left(k3, Len(k3) - 1)
k3 = k3 & "万"
End If
changemoney = IIf(k3 & k2 = "", k1, k3 & k2 & "元" & k1)
End Function
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?