📄 form1.frm
字号:
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim f As String '申请变量=存放文件地址
Dim cNodeIndex As Integer
Dim cnodekey As String
Private Sub addorg_Click() '菜单增加组'***************************************************
open_close resorg
resorg.Open "select * from org order by id", con, adOpenDynamic, adLockOptimistic
Set Combo2.DataSource = resorg
resorg.MoveFirst
resorg.Find "id='new'"
If resorg.EOF = True Then
Set nod1 = Form1.TreeView1.Nodes.add("root", tvwChild, "r" & "new", "新建文件夹", 2)
resorg.AddNew
resorg(0).Value = "new"
resorg(1).Value = "新建文件夹"
resorg.Update
Exit Sub
End If
Dim i As Integer '循环查找"id='new'" & i 如果有就 i+1,循环 加节点
i = 1 '找个最小的数 加
While True
resorg.MoveFirst
resorg.Find "id='new" & i & "'"
If resorg.EOF = True Or resorg.BOF = True Then
Set nod1 = Form1.TreeView1.Nodes.add("root", tvwChild, "r" & "new" & i, "新建文件夹(" & i & ")", 2)
resorg.AddNew
resorg(0).Value = "new" & i
resorg(1).Value = "新建文件夹(" & i & ")"
resorg.Update
Exit Sub
Else
i = i + 1
End If
Wend
deleteorg.Enabled = False
End Sub
Private Sub deleteorg_Click() '菜单删除组'***************************************************
Dim s As String
open_close resorg
resorg.Open "select * from org", con, adOpenDynamic, adLockOptimistic
TreeView1.Nodes.Remove cNodeIndex
s = Right(cnodekey, Len(cnodekey) - 1)
resorg.Find "id='" & s & "'"
If resorg.EOF = True Then
Exit Sub
End If
resorg.delete adAffectCurrent
resorg.Update
deleteorg.Enabled = False
End Sub
Private Sub query_Click() '菜单查询
Command1_Click
End Sub
Private Sub add_Click() '菜单增加
Command2_Click
End Sub
Private Sub rework_Click() '菜单修改
Command3_Click
End Sub
Private Sub delete_Click() '菜单删除
Command4_Click
End Sub
Private Sub save_Click() '菜单保存
Command5_Click
End Sub
Private Sub exit_Click() '菜单退出
Command6_Click
End Sub
Private Sub Combo1_Change()
Text1(2).Text = Combo1.Text
End Sub
Private Sub Combo1_Click()
Text1(2).Text = Combo1.Text
End Sub
Private Sub Command1_Click() '查询记录
open_close rescom
rescom.Open "select * from communications"
If Not Text3.Text = "" Then
rescom.Find "身份证号='" & Text3.Text & "'"
Text2.Text = ""
ElseIf Not Text2.Text = "" Then
rescom.Find "姓名='" & Text2.Text & "'"
Text3.Text = ""
Else
MsgBox "输入空值或错误!", vbCritical + vbOKOnly, "错误"
Exit Sub
End If
If rescom.EOF Then
Exit Sub
End If
display '显示文本
'rescom.Close
Command3.Enabled = True '修改
Command4.Enabled = True '删除
rework.Enabled = True
delete.Enabled = True
End Sub
Private Sub Command2_Click() '增加记录
open_close rescom
rescom.Open "select * from communications"
Dim i As Integer '清空文本框
For i = 0 To 16
Text1(i).Text = ""
Next
Text1(2).Text = "男"
Image1.Picture = Nothing
rescom.AddNew
text_allow '允许输入
Command1.Enabled = False '查询
Command2.Enabled = False '增加
Command3.Enabled = False '修改
Command4.Enabled = False '删除
Command5.Enabled = True '保存
Command7.Visible = True '取消
TreeView1.Enabled = False
save.Enabled = True
rework.Enabled = False
delete.Enabled = False
End Sub
Private Sub Command3_Click() '修改当前记录
open_close rescom
rescom.Open "select * from communications"
position '找记录
text_allow '允许输入
Command1.Enabled = False '查询
Command2.Enabled = False '增加记录
Command3.Enabled = False '修改
Command4.Enabled = False '删除
Command5.Enabled = True '保存
Command7.Visible = True '取消
TreeView1.Enabled = False
save.Enabled = True
rework.Enabled = True
delete.Enabled = True
End Sub
Private Sub Command4_Click() '删除
position '定位
If rescom.EOF = True Then
Command4.Enabled = False '删除
Else
Dim t As String
t = MsgBox("删除操作不可恢复!" + Chr(13) + Chr(9) & "您确认要“删除”该记录吗?", vbExclamation + vbOKCancel + vbDefaultButton2, "删除")
If t = vbOK Then
rescom.delete adAffectCurrent '删除当前记录
open_close rescom
rescom.Open "select * from communications order by ""身份证号""", con, adOpenDynamic, adLockOptimistic
Dim i As Integer '清空文本框
For i = 0 To 16
Text1(i).Text = ""
Next
Image1.Picture = Nothing
Text1(2).Text = "男"
text_disallow '不允许输入
TreeView1.Nodes.Clear
tree_refresh
Command3.Enabled = False '修改
Command4.Enabled = False '删除
rework.Enabled = False
delete.Enabled = False
End If
End If
End Sub
Private Sub Command5_Click() '保存当前记录
Dim chunks() As Byte
Dim i As Integer '保存
If Text1(0).Text = "" Then
MsgBox "身份证号不能为空!", vbInformation + vbOKOnly, "保存"
Text1(0).SetFocus
Exit Sub
ElseIf Combo2.Text = "" Then
MsgBox "类别不能为空!", vbInformation + vbOKOnly, "保存"
Combo2.SetFocus
Exit Sub
ElseIf Text1(1).Text = "" Then
MsgBox "姓名不能为空!", vbInformation + vbOKOnly, "保存"
Text1(1).SetFocus
Exit Sub
ElseIf Text1(2).Text = "" Then
MsgBox "性别不能为空!", vbInformation + vbOKOnly, "保存"
Text1(2).SetFocus
Exit Sub
Else
For i = 0 To 16 '保存
If Not Text1(i) = "" Then '保存
rescom(i).Value = Text1(i).Text '保存
End If '保存
Next '保存
rescom(17).Value = Combo2.Text '保存
If Not Len(f) = 0 Then
Open f For Binary As #1 '打开文件
Dim flength As Long
flength = LOF(1) '求打开的文件长度,文件号#1
Dim t As Integer '按单位截取多余部分
t = flength Mod 16384
ReDim chunks(t) '读取数据
Get 1, , chunks() '写入数据
rescom(18).AppendChunk chunks '分段写入数据库
ReDim chunks(16384) '单位长度的数据块
offset = offset + t '数据指针的位置
While offset < flength
Get 1, , chunks()
rescom(18).AppendChunk chunks() '分段写入数据库
offset = offset + 16384
Wend
End If
rescom.Update '保存
Close #1 '关闭#1号文件
Kill App.Path & "\photo.tmp"
rescom.Close '刷新treeview( 添加到treeview )
rescom.Open "select * from communications order by ""身份证号""", con, adOpenDynamic, adLockOptimistic
TreeView1.Nodes.Clear
tree_refresh
End If
text_disallow '不允许输入
For i = 0 To 16 '清空文本框
Text1(i).Text = ""
Next
Image1.Picture = Nothing
Command1.Enabled = True '查询
Command2.Enabled = True '增加
Command3.Enabled = False '修改
Command4.Enabled = False '删除
Command5.Enabled = False '保存
Command7.Visible = False '取消
TreeView1.Enabled = True
save.Enabled = False
rework.Enabled = False
delete.Enabled = False
End Sub
Private Sub Command6_Click() '退出
open_close resorg
open_close rescom
End
End Sub
Private Sub Command7_Click() '取消
resorg.Cancel
rescom.CancelBatch adAffectCurrent
Dim i As Integer '清空文本框
For i = 0 To 16
Text1(i).Text = ""
Next
Text1(2).Text = "男"
text_disallow '不允许输入
Command1.Enabled = True '查询
Command2.Enabled = True '增加
Command3.Enabled = False '修改
Command4.Enabled = True '删除
Command5.Enabled = False '保存
Command7.Visible = False '取消
Image1.Picture = Nothing
TreeView1.Enabled = True
save.Enabled = False
End Sub
Private Sub Form_Load() '窗体加载
connect
resorg.CursorLocation = adUseClient
rescom.CursorLocation = adUseClient
resorg.Open "select * from org order by id", con, adOpenDynamic, adLockOptimistic
rescom.Open "select * from communications order by ""身份证号""", con, adOpenDynamic, adLockOptimistic
Form1.WindowState = 0 '正常显示窗体
Set Combo2.DataSource = resorg
resorg.MoveFirst
While Not resorg.EOF
Combo2.AddItem resorg(1)
resorg.MoveNext
Wend
tree_refresh
text_disallow
Command3.Enabled = False '修改
Command4.Enabled = False '删除记录
Command5.Enabled = False '保存
Command7.Visible = False '取消
End Sub
Private Sub Form_Resize() '改变窗体大小
Dim t As Integer
t = Form1.ScaleWidth - Command1.Left
If Form1.WindowState = 1 Then '最小化时什么都不做
Exit Sub
ElseIf Form1.Width <= 11685 Then
'最小值
Form1.Width = 11685
Form1.Height = 7455
ElseIf Form1.Width > 11685 Then
End If
'横向变化
Imgtopright.Left = Form1.ScaleWidth - Imgtopright.Width '上
Imgtopmid.Left = Imgtopleft.Width
Imgtopmid.Width = Form1.ScaleWidth - Imgtopleft.Width - Imgtopright.Width
Imgright1.Left = Form1.ScaleWidth - Imgright1.Width + 10 '中
Imgright.Left = Imgleft.Width
Imgright.Width = Form1.ScaleWidth - Imgright.Left - Imgright1.Width
Imgbottomright.Left = Form1.ScaleWidth - Imgbottomright.Width '下
Imgbottommid.Left = Imgbottomleft.Width
Imgbottommid.Width = Form1.ScaleWidth - Imgbottomleft.Width - Imgbottomright.Width
'纵向变化
Imgbottomleft.Top = Form1.ScaleHeight - Imgbottomleft.Height '左
Imgleft.Top = Imgtopleft.Height
Imgleft.Height = Form1.ScaleHeight - Imgleft.Top - Imgbottomleft.Height
Imgright.Height = Form1.ScaleHeight - Imgright.Top - Imgbottommid.Height '中
Imgbottommid.Top = Form1.ScaleHeight - Imgbottommid.Height
TreeView1.Height = Form1.ScaleHeight - TreeView1.Top - Imgbottommid.Height
Picture1.Height = Form1.ScaleHeight - Picture1.Top - Imgbottommid.Height
Imgright1.Height = Form1.ScaleHeight - Imgright1.Top - Imgbottomright.Height '右
Imgbottomright.Top = Form1.ScaleHeight - Imgbottomright.Height
Command1.Left = Form1.ScaleWidth - t
Command2.Left = Form1.ScaleWidth - t
Command3.Left = Form1.ScaleWidth - t
Command4.Left = Form1.ScaleWidth - t
Command5.Left = Form1.ScaleWidth - t
Command6.Left = Form1.ScaleWidth - t
End Sub
Private Sub Image1_DblClick()
CommonDialog1.ShowOpen
Image1.Picture = LoadPicture(CommonDialog1.FileName)
f = CommonDialog1.FileName '取得文件地址
Close #1
End Sub
Private Sub TreeView1_Expand(ByVal Node As MSComctlLib.Node) '展开节点时
If Node.Image = 2 Then
Node.Image = 3
End If
End Sub
Private Sub TreeView1_Collapse(ByVal Node As MSComctlLib.Node) '折叠节点时
If Node.Image = 3 Then
Node.Image = 2
End If
End Sub
Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node) '单击节点
cNodeIndex = Node.Index
cnodekey = Node.Key
open_close rescom
rescom.Open "select * from communications"
rescom.MoveFirst
While Not rescom.EOF
If Node.Key = "r" & rescom(0).Value Then
display
If Node.Children = 0 Then
Command3.Enabled = True '修改
Command4.Enabled = True '删除记录
End If
Exit Sub
End If
rescom.MoveNext
Wend
open_close resorg
resorg.Open "select * from org order by id"
Set Combo2.DataSource = resorg
Combo2.Text = Node.Text
resorg.MoveFirst
Dim s As String
s = Right(cnodekey, Len(cnodekey) - 1)
resorg.Find "id='" & s & "'"
If resorg.EOF = False And Node.Children = 0 Then '记录中有该类别,且不包含子节点时,可以删除该类别
deleteorg.Enabled = True
End If
Command3.Enabled = False '修改
Command4.Enabled = False '删除记录
rework.Enabled = True
delete.Enabled = True
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -