📄 form1.frm
字号:
If Data1.Recordset.EOF = False Then '如果数据库记录指针不是第一个记录然后
Data1.Recordset.MoveFirst ' 指针放到第一上记录
End If
'-------------------------------------------------------------------------------
If Option1.Value = True Then
Do While Not Data1.Recordset.EOF ' 从到一个记录逻辑显示
If LCase(Data1.Recordset.Fields(2).Value) = "工资收入" Then
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 0) = Data1.Recordset.Fields(0).Value ' 对应数据库日期
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 1) = Data1.Recordset.Fields(1).Value ' 对应数据库钱额
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 2) = Data1.Recordset.Fields(2).Value ' 对应数据库类型
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 3) = Data1.Recordset.Fields(3).Value ' 对应数据库说明
Form5!MSFlexGrid1.Rows = Form5!MSFlexGrid1.Rows + 1 'MSFlexGrid1表加上一行
End If
Data1.Recordset.MoveNext ' 指针放到下一记录
Loop
End If
'------------------------------------------------------------------------------
'-------------------------------------------------------------------------------
If Option2.Value = True Then
Do While Not Data1.Recordset.EOF ' 从到一个记录逻辑显示
If LCase(Data1.Recordset.Fields(2).Value) = "经商收入" Then
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 0) = Data1.Recordset.Fields(0).Value ' 对应数据库日期
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 1) = Data1.Recordset.Fields(1).Value ' 对应数据库钱额
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 2) = Data1.Recordset.Fields(2).Value ' 对应数据库类型
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 3) = Data1.Recordset.Fields(3).Value ' 对应数据库说明
Form5!MSFlexGrid1.Rows = Form5!MSFlexGrid1.Rows + 1 'MSFlexGrid1表加上一行
End If
Data1.Recordset.MoveNext ' 指针放到下一记录
Loop
End If
'-------------------------------------------------------------------------------
If Option3.Value = True Then
Do While Not Data1.Recordset.EOF ' 从到一个记录逻辑显示
If LCase(Data1.Recordset.Fields(2).Value) = "其它收入" Then
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 0) = Data1.Recordset.Fields(0).Value ' 对应数据库日期
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 1) = Data1.Recordset.Fields(1).Value ' 对应数据库钱额
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 2) = Data1.Recordset.Fields(2).Value ' 对应数据库类型
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 3) = Data1.Recordset.Fields(3).Value ' 对应数据库说明
Form5!MSFlexGrid1.Rows = Form5!MSFlexGrid1.Rows + 1 'MSFlexGrid1表加上一行
End If
Data1.Recordset.MoveNext ' 指针放到下一记录
Loop
End If
'-------------------------------------------------------------------------------
If Option4.Value = True Then
Do While Not Data1.Recordset.EOF ' 从到一个记录逻辑显示
If LCase(Data1.Recordset.Fields(2).Value) = "生活支出" Then
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 0) = Data1.Recordset.Fields(0).Value ' 对应数据库日期
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 1) = Data1.Recordset.Fields(1).Value ' 对应数据库钱额
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 2) = Data1.Recordset.Fields(2).Value ' 对应数据库类型
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 3) = Data1.Recordset.Fields(3).Value ' 对应数据库说明
Form5!MSFlexGrid1.Rows = Form5!MSFlexGrid1.Rows + 1 'MSFlexGrid1表加上一行
End If
Data1.Recordset.MoveNext ' 指针放到下一记录
Loop
End If
'-------------------------------------------------------------------------------
If Option5.Value = True Then
Do While Not Data1.Recordset.EOF ' 从到一个记录逻辑显示
If LCase(Data1.Recordset.Fields(2).Value) = "学习支出" Then
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 0) = Data1.Recordset.Fields(0).Value ' 对应数据库日期
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 1) = Data1.Recordset.Fields(1).Value ' 对应数据库钱额
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 2) = Data1.Recordset.Fields(2).Value ' 对应数据库类型
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 3) = Data1.Recordset.Fields(3).Value ' 对应数据库说明
Form5!MSFlexGrid1.Rows = Form5!MSFlexGrid1.Rows + 1 'MSFlexGrid1表加上一行
End If
Data1.Recordset.MoveNext ' 指针放到下一记录
Loop
End If
'-------------------------------------------------------------------------------
If Option6.Value = True Then
Do While Not Data1.Recordset.EOF ' 从到一个记录逻辑显示
If LCase(Data1.Recordset.Fields(2).Value) = "娱乐支出" Then
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 0) = Data1.Recordset.Fields(0).Value ' 对应数据库日期
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 1) = Data1.Recordset.Fields(1).Value ' 对应数据库钱额
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 2) = Data1.Recordset.Fields(2).Value ' 对应数据库类型
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 3) = Data1.Recordset.Fields(3).Value ' 对应数据库说明
Form5!MSFlexGrid1.Rows = Form5!MSFlexGrid1.Rows + 1 'MSFlexGrid1表加上一行
End If
Data1.Recordset.MoveNext ' 指针放到下一记录
Loop
End If
'-------------------------------------------------------------------------------
If Option7.Value = True Then
Do While Not Data1.Recordset.EOF ' 从到一个记录逻辑显示
If LCase(Data1.Recordset.Fields(2).Value) = "投资支出" Then
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 0) = Data1.Recordset.Fields(0).Value ' 对应数据库日期
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 1) = Data1.Recordset.Fields(1).Value ' 对应数据库钱额
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 2) = Data1.Recordset.Fields(2).Value ' 对应数据库类型
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 3) = Data1.Recordset.Fields(3).Value ' 对应数据库说明
Form5!MSFlexGrid1.Rows = Form5!MSFlexGrid1.Rows + 1 'MSFlexGrid1表加上一行
End If
Data1.Recordset.MoveNext ' 指针放到下一记录
Loop
End If
'-------------------------------------------------------------------------------
If Option8.Value = True Then
Do While Not Data1.Recordset.EOF ' 从到一个记录逻辑显示
If LCase(Data1.Recordset.Fields(2).Value) = "其它支出" Then
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 0) = Data1.Recordset.Fields(0).Value ' 对应数据库日期
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 1) = Data1.Recordset.Fields(1).Value ' 对应数据库钱额
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 2) = Data1.Recordset.Fields(2).Value ' 对应数据库类型
Form5!MSFlexGrid1.TextMatrix(Form5!MSFlexGrid1.Rows - 1, 3) = Data1.Recordset.Fields(3).Value ' 对应数据库说明
Form5!MSFlexGrid1.Rows = Form5!MSFlexGrid1.Rows + 1 'MSFlexGrid1表加上一行
End If
Data1.Recordset.MoveNext ' 指针放到下一记录
Loop
End If
'-------------------------------------------------------------------------------
End Sub
Private Sub Command8_Click()
'确定类型对应计算
Select Case Label12.Caption
Case "工资收入"
Form1!Label2.Caption = Val(Form1!Label2.Caption) - Val(Form1!Label11.Caption)
Case "经商收入"
Form1!Label3.Caption = Val(Form1!Label3.Caption) - Val(Form1!Label11.Caption)
Case "其它收入"
Form1!Label4.Caption = Val(Form1!Label4.Caption) - Val(Form1!Label11.Caption)
Case "生活支出"
Form1!Label5.Caption = Val(Form1!Label5.Caption) - Val(Form1!Label11.Caption)
Case "学习支出"
Form1!Label6.Caption = Val(Form1!Label6.Caption) - Val(Form1!Label11.Caption)
Case "娱乐支出"
Form1!Label7.Caption = Val(Form1!Label7.Caption) - Val(Form1!Label11.Caption)
Case "投资支出"
Form1!Label8.Caption = Val(Form1!Label8.Caption) - Val(Form1!Label11.Caption)
Case "其它支出"
Form1!Label9.Caption = Val(Form1!Label9.Caption) - Val(Form1!Label11.Caption)
End Select
'----------------------------------------------------------------------------
If Data1.Recordset.BOF = False Then '如果记录不是最前一条然后
Data1.Recordset.Delete '删除记录
End If
If Form1!Data1.Recordset.EOF = False Then '如果记录不是最后一条然后
Form1!Data1.Recordset.MoveLast '显示数据库最后一条记录
End If
'------------------------------------------------------------------------------
Label14.Caption = Val(Label2) + Val(Label3) + Val(Label4) '计算所有收入总和
Label15.Caption = Val(Label5) + Val(Label6) + Val(Label7) + Val(Label8) + Val(Label9) '计算所有支出总和
Label16.Caption = Val(Label14) - Val(Label15) '计算现金有多少
'------------------------------------------------------------------------------
MSFlexGrid1.Clear
MSFlexGrid1.Cols = 4
MSFlexGrid1.FixedCols = 0
MSFlexGrid1.FixedRows = 1
MSFlexGrid1.ColWidth(0) = MSFlexGrid1.Width / 6
MSFlexGrid1.ColWidth(1) = MSFlexGrid1.Width / 6
MSFlexGrid1.ColWidth(2) = MSFlexGrid1.Width / 6
MSFlexGrid1.ColWidth(3) = MSFlexGrid1.Width / 1
MSFlexGrid1.TextMatrix(0, 0) = "日期"
MSFlexGrid1.TextMatrix(0, 1) = "钱额"
MSFlexGrid1.TextMatrix(0, 2) = "类型"
MSFlexGrid1.TextMatrix(0, 3) = "说明"
MSFlexGrid1.Rows = 2
If Data1.Recordset.EOF = False Then '如果数据库记录指针不是第一个记录然后
Data1.Recordset.MoveFirst ' 指针放到第一上记录
End If
Do While Not Data1.Recordset.EOF ' 从到一个记录逻辑显示
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 0) = Data1.Recordset.Fields(0).Value ' 对应数据库日期
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 1) = Data1.Recordset.Fields(1).Value ' 对应数据库钱额
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 2) = Data1.Recordset.Fields(2).Value ' 对应数据库类型
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 3) = Data1.Recordset.Fields(3).Value ' 对应数据库说明
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1 'MSFlexGrid1表加上一行
Data1.Recordset.MoveNext ' 指针放到下一记录
Loop
'------------------------------------------------------------------------------
If Data1.Recordset.BOF = False Then
Data1.Recordset.MoveLast '显示数据库最后一条记录
End If
End Sub
Private Sub Command3_Click()
Form4.Show '显示第三窗体,即修改窗体
'------------------------------------------------------------------------------
'传遗数据给修改窗体
Form4!Text1.Text = Label10.Caption '日期
Form4!Text2.Text = Label11.Caption '钱额
Form4!Text3.Text = Text1.Text '说明
Form4!Text4.Text = Label12.Caption '类型
End Sub
Private Sub Command4_Click()
Command5.Enabled = True
If Data1.Recordset.BOF = False Then '如果记录不是最前一条然后
Data1.Recordset.MovePrevious '移到前一条记录
Else
Command4.Enabled = False '如果是前记录哪按钮为不可操作
End If
End Sub
Private Sub Form_Activate()
Label14.Caption = Val(Label2) + Val(Label3) + Val(Label4) '计算所有收入总和
Label15.Caption = Val(Label5) + Val(Label6) + Val(Label7) + Val(Label8) + Val(Label9) '计算所有支出总和
Label16.Caption = Val(Label14) - Val(Label15) '计算现金有多少
'------------------------------------------------------------------------------
MSFlexGrid1.Clear
MSFlexGrid1.Cols = 4
MSFlexGrid1.FixedCols = 0
MSFlexGrid1.FixedRows = 1
MSFlexGrid1.ColWidth(0) = MSFlexGrid1.Width / 6
MSFlexGrid1.ColWidth(1) = MSFlexGrid1.Width / 6
MSFlexGrid1.ColWidth(2) = MSFlexGrid1.Width / 6
MSFlexGrid1.ColWidth(3) = MSFlexGrid1.Width / 1
MSFlexGrid1.TextMatrix(0, 0) = "日期"
MSFlexGrid1.TextMatrix(0, 1) = "钱额"
MSFlexGrid1.TextMatrix(0, 2) = "类型"
MSFlexGrid1.TextMatrix(0, 3) = "说明"
MSFlexGrid1.Rows = 2
If Data1.Recordset.EOF = False Then '如果数据库记录指针不是第一个记录然后
Data1.Recordset.MoveFirst ' 指针放到第一上记录
End If
Do While Not Data1.Recordset.EOF ' 从到一个记录逻辑显示
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 0) = Data1.Recordset.Fields(0).Value ' 对应数据库日期
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 1) = Data1.Recordset.Fields(1).Value ' 对应数据库钱额
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 2) = Data1.Recordset.Fields(2).Value ' 对应数据库类型
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 3) = Data1.Recordset.Fields(3).Value ' 对应数据库说明
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1 'MSFlexGrid1表加上一行
Data1.Recordset.MoveNext ' 指针放到下一记录
Loop
'------------------------------------------------------------------------------
If Data1.Recordset.BOF = False Then
Data1.Recordset.MoveLast '显示数据库最后一条记录
End If
End Sub
Private Sub Form_Resize()
Call ResizeForm(Me) '确保窗体改变时控件随之改变
End Sub
Private Sub Form_Load()
'-----------------------------------------------------------------------------
'为界面添加皮肤
Skin1.LoadSkin App.Path & "\chizh.skn"
Skin1.ApplySkin Me.hwnd
'------------------------------------------------------------------------------
Call ResizeInit(Me) '在程序装入时必须加入
'------------------------------------------------------------------------------
'设置对VB数据库连接的动态路径
Dim str As String '定义
str = App.Path
If Right(str, 1) <> "\" Then
str = str + "\"
End If
Data1.DatabaseName = str & "\zong.mdb"
Data1.RecordSource = "jilu"
Data1.Connect = ";pwd=suguidi"
Data1.Refresh
'------------------------------------------------------------------------------
Data2.DatabaseName = str & "\zong.mdb"
Data2.RecordSource = "jixan"
Data2.Connect = ";pwd=suguidi"
Data2.Refresh
End Sub
Private Sub Form_Unload(Cancel As Integer)
'关闭程序中所有创建的数据库连接
On Error Resume Next
Dim ws As Workspace
Dim DB As Database
Dim rs As Recordset
For Each ws In Workspaces
For Each DB In ws.Databases
For Each rs In DB.Recordsets
rs.Close
Set rs = Nothing
Next
DB.Close
Set DB = Nothing
Next
ws.Close
Set ws = Nothing
Next
End Sub
Private Sub s_Click()
End Sub
Private Sub j1_Click()
Command1_Click '添加按钮
End Sub
Private Sub j2_Click()
Command3_Click '修改按钮
End Sub
Private Sub j3_Click()
Command2_Click '删除按钮
End Sub
Private Sub j4_Click()
Command4_Click '上一条记录按钮
End Sub
Private Sub j5_Click()
Command5_Click '下一记录按钮
End Sub
Private Sub j6_Click()
End '退出
End Sub
Private Sub S1_Click()
'关闭程序中所有创建的数据库连接
On Error Resume Next
Dim ws As Workspace
Dim DB As Database
Dim rs As Recordset
For Each ws In Workspaces
For Each DB In ws.Databases
For Each rs In DB.Recordsets
rs.Close
Set rs = Nothing
Next
DB.Close
Set DB = Nothing
Next
ws.Close
Set ws = Nothing
Next
'====================================================================
Dim sfile As String
Dim dfile As String
'设定目标文件名
dfile = App.Path & "\zong.mdb"
'提取源文件名
CommonDialog1.DialogTitle = "导出数据"
CommonDialog1.Filter = "*.db"
CommonDialog1.ShowSave
sfile = CommonDialog1.FileName
If sfile <> "" Then
'复制文件
FileCopy dfile, sfile
Dim AddNext
AddNext = MsgBox("导出成功,必须重新起重程序!", vbExclamation + vbOKOnly, "个人理财")
End If
sfile = ""
End Sub
Private Sub S2_Click()
'关闭程序中所有创建的数据库连接
On Error Resume Next
Dim ws As Workspace
Dim DB As Database
Dim rs As Recordset
For Each ws In Workspaces
For Each DB In ws.Databases
For Each rs In DB.Recordsets
rs.Close
Set rs = Nothing
Next
DB.Close
Set DB = Nothing
Next
ws.Close
Set ws = Nothing
Next
'-------------------------------------------------------------
Dim sfile As String
Dim dfile As String
'设定目标文件名
dfile = App.Path & "\zong.mdb"
'提取源文件名
CommonDialog1.DialogTitle = "导入数据"
CommonDialog1.Filter = "*.db"
CommonDialog1.ShowSave
sfile = CommonDialog1.FileName
If sfile <> "" Then
'复制文件
FileCopy sfile, dfile
Dim AddNext
AddNext = MsgBox("导入成功,必须重新起重程序!", vbExclamation + vbOKOnly, "个人理财")
End If
sfile = ""
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -