系统登录、民兵信息录入、查询、修改、删除及密码修改代码在论文的正文中已有叙述,这里就不再重复。
一.民兵组织实力报表窗体中的代码:
Private Sub Command1_Click()
If Text1.Text = "" Then
MsgBox "请输入民兵组织编码", vbInformation + vbOKOnly, "提示"
Text1.SetFocus
Exit Sub
ElseIf Len(Text1.Text) <> 2 Then
MsgBox "请输入组织编码2位!", vbInformation + vbOKOnly, "提示"
Text1.SetFocus
Exit Sub
End If
If Text2.Text = "" Then
MsgBox "请输入名称", vbInformation + vbOKOnly, "提示"
Text2.SetFocus
Exit Sub
End If
Adodc1.RecordSource = "select * from 民兵组织编码 where 民兵组织编码 ='" & Trim(Text1.Text) & "' " '唯一性检验
Set DataGrid1.DataSource = Adodc1
Adodc1.Refresh
If Not (Adodc1.Recordset.EOF) And Not (Adodc1.Recordset.BOF) Then
MsgBox "输入的组织编码与表1所示记录中的编码重复了,请核查后再输!", vbInformation + vbOKOnly, "信息提示"
Adodc1.RecordSource = "select * from 民兵组织编码" '查看记录集
Set DataGrid1.DataSource = Adodc1
Adodc1.Refresh
Adodc1.Recordset.MoveLast
Exit Sub '当输入的组织编码已存在于某条记录时,显示该记录并提示信息(因编码的唯一性)
End If
Adodc1.Recordset.AddNew '添加一条新记录
Adodc1.Recordset("民兵组织编码") = Trim(Text1.Text)
Adodc1.Recordset("名称") = Trim(Text2.Text)
Adodc1.Recordset.Update '保存新记录
Adodc1.RecordSource = "select * from 民兵组织编码" '查看记录集
Set DataGrid1.DataSource = Adodc1
Adodc1.Refresh
DataGrid1.Refresh
Text1.Text = ""
Text2.Text = ""
End Sub
Private Sub Command2_Click()
'显示报表
DataReport1.Show
End Sub
Private Sub Command3_Click()
'浏览表3中的所有数据并根据"组织编码"按升序排列
Adodc3.RecordSource = "select *from 组织实力表 order by 组织编码 " '根据“组织编码”按升序排列
Set DataGrid3.DataSource = Adodc3
Adodc3.Refresh
End Sub
Private Sub Command4_Click()
Dim count As Integer
Dim I As Integer
If MsgBox("你确认要删除这条记录吗?", vbExclamation + vbOKCancel, "警告") = vbCancel Then '取消删除记录的行为
Exit Sub
End If
'删除表1中指定的记录
Adodc1.Recordset.Delete
Adodc1.Recordset.Update
'计算在表3中满足条件的记录数并删除(当表1中的某条记录删除时,在表3中与之相关联的记录也要删除,也就是级联删除)
count = Adodc3.Recordset.RecordCount
For I = 1 To count
Adodc3.Recordset.Delete
Adodc3.Recordset.Update
Adodc3.Recordset.MoveNext
Next I
End Sub
Private Sub Command5_Click()
Unload Me
End Sub
Private Sub DataGrid1_dblClick()
Text1.Text = Adodc1.Recordset("民兵组织编码")
Text2.Text = Adodc1.Recordset("名称")
'在表3中显示与该组织编码相关的所有记录
Adodc3.RecordSource = "select *from 组织实力表 where 组织编码='" & Trim(Text1.Text) & "'"
Set DataGrid3.DataSource = Adodc3
Adodc3.Refresh
End Sub
Private Sub DataGrid2_dblClick()
'添加的部队单位在同一组织编码下不能重复,要进行唯一性验证
Dim bdbm As String
bdbm = Adodc2.Recordset("部队编码")
Adodc3.RecordSource = "select * from 组织实力表 where 部队编码 ='" & bdbm & "'and 组织编码='" & Trim(Text1.Text) & "' " '唯一性检验
Set DataGrid3.DataSource = Adodc3
Adodc3.Refresh
If Not (Adodc3.Recordset.EOF) And Not (Adodc3.Recordset.BOF) Then
MsgBox "你准备添加的部队单位在该组织编码下已存在!如表3所示", vbInformation + vbOKOnly, "信息提示"
Adodc3.RecordSource = "select * from 组织实力表 where 组织编码='" & Trim(Text1.Text) & "'" '查看该组织编码下的所有记录
Set DataGrid3.DataSource = Adodc3
Adodc3.Refresh
Exit Sub '当添加的部队已存在于表3中同一组织编码下的某条记录时,显示该记录并提示信息(因在同一组织编码下部队编码的唯一性)
End If
Adodc3.Recordset.AddNew '向表3中添加记录(通过双击该记录来添加)
Adodc3.Recordset("组织编码") = Adodc1.Recordset("民兵组织编码")
Adodc3.Recordset("部队编码") = Adodc2.Recordset("部队编码")
Adodc3.Recordset("部队名称") = Adodc2.Recordset("部队名称")
Adodc3.Recordset.Update
Adodc3.RecordSource = "select * from 组织实力表 where 组织编码='" & Trim(Text1.Text) & "'" '查看该组织编码下的所有记录
Set DataGrid3.DataSource = Adodc3
Adodc3.Refresh
Adodc3.Recordset.MoveLast
End Sub
Private Sub DataGrid3_dblClick()
'删除表3中的某个记录(通过双击该记录来删除)
If MsgBox("你确认要删除这条记录吗?", vbExclamation + vbOKCancel, "警告") = vbCancel Then '取消删除记录的行为
Exit Sub
End If
Adodc3.Recordset.Delete
Adodc3.Recordset.Update
End Sub
二.民兵组织实力统计窗体中的代码:
Private Sub Command1_Click()
'统计一级行政区民兵人数
Dim count As Integer
count = Adodc2.Recordset.RecordCount
Text1.Text = count
Text1.SetFocus
End Sub
Private Sub Command3_Click()
Unload Me
End Sub
Private Sub Command4_Click()
'汇总十堰市军分区所有的民兵人数
Adodc2.RecordSource = "select * from 民兵信息录入"
Set DataGrid2.DataSource = Adodc2
Adodc2.Refresh
Text2.Text = Adodc2.Recordset.RecordCount
End Sub
Private Sub DataGrid1_Click()
'在表中显示隶属于该行政单位的民兵信息
Dim xz As String
xz = Adodc1.Recordset("单位编码")
Adodc2.RecordSource = "select 行政编码,个人编码,单位编码,姓名,性别,出生年月,电话,文化程度,是否培训,转业军人,政治面貌,职务 from 民兵信息录入 where 行政编码='" & Trim(xz) & "'"
Set DataGrid2.DataSource = Adodc2
Adodc2.Refresh
End Sub
Private Sub DataGrid2_dblClick()
'指出该民兵属于那个作战单位
Dim grbm As String
Dim str As String
grbm = Adodc2.Recordset("个人编码")
str = Left(grbm, 6)
Adodc3.RecordSource = "select *from 部队名称编码 where 部队编码='" & Trim(str) & "'"
Set DataGrid3.DataSource = Adodc3
Adodc3.Refresh
End Sub