课堂考勤系统说明书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机程序设计说明书

题目课堂考勤数据管理

专业信管09级 2 班

学号0911200239 _____

姓名陈政宇 ___

2011年6月

一、设计目的与要求:

设计一个Excel VAB程序,来对数信学院纪检部课堂考勤数据库进行管理,设置第一张工作表为汇总表,在第一张工作表中可以快速查找到某同学的课堂考勤记录,同时可以查询已达到惩罚条件的同学,并将他们列到汇总表中。

原始数据:

设置第一张工作表页面:

单击“第一个查询”按钮的结果:

出现等待查询界面:

查询结果:

没有符合查询要求的时候:

单击接下来几个查询按钮的结果类似上图。

单击“查询学生具体情况”按钮,出现如下所示:

如果班级、姓名为空或者输入的班级不是数信学院的班级:

输入正确的班级和姓名后,界面跳到相应的班级,出现结果如下

二. 需求分析:

本程序主要是5个按钮代码和一个窗体代码的编写。

各部分设计分析

1. 编写“惩罚方式”相应按钮的大致步骤都如下:

①删除上次的查询结果;

②查询所有学生旷课数或迟到数达到了惩罚要求的学生,并列出到汇总表中相应的位置。

③对汇总表中的数据进行筛选删除重复的数据

2. 编写“查询学生具体情况”按钮的大致步骤:

①创建一个查询窗体;

②显示该窗体

3. 编写“查询学生具体情况”窗体的大致步骤:

①检验输入中的数据不能为空,如果为空则给出提示。

②检验输入中的班级名称是否是我们学院的班级,如果不是,则给出提示。

③查询所在班级工作表中某学生的情况,如果没有该学生信息,则给出提示。

④清空查询窗体中的数据

三、详细设计

(一)查询学生具体情况的流程图:

1.编写“查询学生具体情况”按钮代码:

Private Sub CommandButton5_Click() UserForm3.Show …显示窗体3

End Sub

2.:编写“查询学生具体情况”窗体代码

①.主要编程代码

Private Sub CommandButton1_Click()

Dim X As String, b As String, hang As Integer, q As Integer

b = TextBox1.Text

X = TextBox2.Text

p = 0

q = 0

t = Worksheets.Count

If X = "" Or b = "" Then …文本框中不能为空格

MsgBox " 请同时输入班级和姓名进行查询!", vbOKOnly, "个人课堂表现情况查询"

Else

For i = 2 To t

If Sheets(i).Name = b Then

hang = Sheets(i).UsedRange.Rows.Count

p = 1 + p

Sheets(i).Select

ActiveSheet.AutoFilterMode = False '关闭自动筛选

Range("A2").Select '选择表格的左上角单元格

Selection.AutoFilter '给单元格设置自动筛选

Selection.AutoFilter Field:=3, Criteria1:=X '筛选出“姓名”列为"x"的单元格

For j = 3 To hang '查询是否有X的存在

If Sheets(i).Cells(j, 3) = X Then

q = 1 + q

End If

Next j

End If

Next i

'如果输入的不是我们学院的班级,给出提示

If p = 0 Then

MsgBox "请输入我们学院正确的班级名称!", vbOKOnly, "个人课堂表现情况查询"

End If

'如果查找不到该同学的信息,给出提示

If q = 0 Then

MsgBox "请确认您所输入姓名和班级是否正确或者没有该同学信息!", vbOKOnly, "个人课堂表现情况查询"

ActiveSheet.AutoFilterMode = False ‘关闭自动筛选,并返回汇总工作表

Sheets(1).Select

End If

'清空文本框

TextBox1.Text = ""

TextBox2.Text = ""

UserForm3.Hide

End If

End Sub

②.设置窗体标题

Private Sub UserForm_Initialize()

'设置窗体标题

Me.Caption = "数信学院纪检部课堂考勤管理系统"

End Sub

(二)“惩罚方式”按钮代码编写:

院通报批评(旷课5节左右或迟到早退8节左右)按钮代码:

Private Sub CommandButton1_Click()

Dim kks As Integer, cdzts As Integer, xm As String, xh As String, bj As String, hang As Integer, X As Integer, hang0 As Integer ‘定义需要用到的函数

Range("C10:G1000").Select '选择上次查询结果区域Selection.ClearContents '删除上次查询时的数据UserForm1.Show ‘显示窗口一

t = Worksheets.Count '总共使用的工作表

X = 10

For i = 2 To t

Sheets(i).AutoFilterMode = False

hang = Sheets(i).UsedRange.Rows.Count '每个工作表使用的行数

'汇总表中出现数据

If hang > 4 Then '如果每个工作表行数大于四则进行筛选For j = 3 To hang

cdzts = 0

kks = 0

For k = 3 To hang

If Sheets(i).Cells(k, 3) = Sheets(i).Cells(j, 3) Then '选择同一个姓名记录的旷课数和迟到早退数kks = Sheets(i).Cells(k, 8) + kks '旷课数If Sheets(i).Cells(k, 9) <> "" Or Sheets(i).Cells(k, 10) <> "" Then

cdzts = cdzts + 1 '迟到早退数

End If

End If

Next k

If kks > 5 Or cdzts > 8 Then '如果旷课数大于5或迟到早退数大于8

相关文档
最新文档