VB课程设计报告

时间:2024.10.23

VB课程设计报告

课程题目   企业职工工资管理系统

课程名    面向对象程序设计

任课教师  ***

姓名     ***

学号     ********

专业     ********

一 课程设计目的

   通过一学期多个学时的学习,对VB这种语言有了一定的了解,VB是一种半面向对象的程序设计语言,而VB.NET是一种完全面向对象的编程语言,学好VB对进一步的学习大有裨益,而课程设计是最能深入应用所学知识,发现不足和错误的最好方式。通过课程设计,加强对算法、语法、程序结构等的综合应用,培养独立自主的开发能力及善于思考问题并与别人交流的能力,更重要的是开发过程当中激发创新思维的火花。

二 课程设计的题目与简介

   本次课程设计的题目是企业工资管理系统。在现代经济高速发展的大背景下,企业充当着经济发展的载体和驱动器,而企业职工工资管理的好坏直接影响着企业的健康发展,因此一个有长远眼光和伟大战略的企业必然要建立起高效、准确的职工管理系统,来应对市场对人才的争夺,更好的留住人才、发展人才。

    由于自身能力有限,所设计的工资管理系统比较简单,功能不强。本系统连接的是ACCESS数据库,共两张表,分别是职工个人信息表和职工工资信息表,并利用vb的优势设计各个窗体以完成增、删、查、改等功能。

三 设计说明

   组织结构图

Ⅰ:总体说明

本系统共设计了15个窗体,除一个多文档窗体MDI和一个启动登陆窗体外,其余13个窗体均是MDI窗体的子窗体,所有的增删查改功能实现均在MDI窗体内实现。进入登陆界面后,经准确输入用户名和密码后,系统将进入MDI窗体,允许用户进行增、删、查、改等操作,最后用户通过单击菜单项—退出,将完成退出系统操作。

Ⅱ:数据库说明

   在设计操作当中,用MICROOSOFT  ACCESS 设计的数据库,在VB窗体中添加DATA 控件,系统提示不是有效的路径,而经检查数据库的路径是准确的,因此用VB自带的外接程序来设计ACCESS数据库,经DATA控件试验可以正常使用 。本系统共建立了职工个人信息表和职工工资表,信息叫少,也比较简单。

Ⅲ:窗体设计

  本系统共设计了15个窗体,每个窗体都有一定数目的控件和代码来完成不同的功能。

用一个MDI多文档窗体来内涵需要完成增、删、查、改和报表输出等功能的子窗体,并利用VB的菜单编辑器来设计菜单,以友好的界面来等待用户的访问,做到与一个应用程序相似的设计。用户每单击相应的功能菜单项就会弹出相应的窗体,只须在MDI窗体编写代码

Load 窗体名 – 窗体名.show 即可完成窗口弹出操作。

Ⅳ:运行调试

   运行环境是VB6.0,在实际编程当中,通过设置断点等方法查找逻辑错误,使序能够按照设想正确运行出来。难以解决的问题通过上网查资料,查阅书籍,询问同学都得到了有效地解决。

四 源代码及运行结果

1登陆界面

本系统登陆允许用户有四次机会,如果超过四次,系统自动退出,其代码如下:

Private Sub Command1_Click()

Dim a As Integer, b As Integer, secret As Integer, c As String

secret = 12151

masg1$ = "您确认要登录系统吗?"

masg2$ = "登录系统确认"

a = MsgBox(masg1$, 35, masg2$)

If a = 6 Then

  c = CStr(InputBox("请用户输入登陆账号", "用户登陆", "用户名"))

  If c = "tree" Then

   b = Val(InputBox("请用户输入登陆密码", "用户密码登陆", "secret"))

   If b = secret Then

    Load MDIForm1

    MDIForm1.Show

    form2.Hide

   

  ElseIf b <> secret Then

   MsgBox "您还有三次机会", "48", "错误"

   masg3$ = "抱歉,您输入密码有误,请重新输入"

   masg4$ = "密码重新输入"

    i = i% + 1

   c = MsgBox(masg3$, 50, masg4$)

   If c = 4 Then

     

        b = Val(InputBox("请用户输入登陆密码", "用户密码登陆", "secret"))

        If b = secret Then

           Load MDIForm1 '如果密码输入正确,则装载多文档窗体

           MDIForm1.Show '显示多文档窗体

           form2.Hide '登陆窗体隐藏

          

       

       Else

         masg3$ = "抱歉,您输入密码有误,请重新输入"

         masg4$ = "密码重新输入"

         i = i% + 1

         c = MsgBox(masg3$, 50, masg4$)

         If c = 4 Then

          

           b = Val(InputBox("请用户输入登陆密码", "用户密码登陆", "secret"))

           If b = secret Then

             Load MDIForm1

             MDIForm1.Show

             form2.Hide

             Else

             masg3$ = "抱歉,您输入密码有误,请重新输入"

             masg4$ = "密码重新输入"

             i = i% + 1

             c = MsgBox(masg3$, 50, masg4$)

              If c = 4 Then

          

               b = Val(InputBox("请用户输入登陆密码", "用户密码登陆", "secret"))

               If b = secret Then

                   Load MDIForm1

                   MDIForm1.Show

                   form2.Hide

               End If

              End If

             End If

           

        End If

       

    End If

   

    If i = 3 Then

      End

    End If

    End If

   

  End If

  End If

End If

End Sub

Private Sub Command2_Click()

 End

End Sub

Private Sub Form_Load()

Command1.FontName = "隶书"

Command2.FontName = "隶书"

Label1.FontSize = 30

Label2.FontSize = 30

Command1.FontSize = 15

Command1.FontName = "隶书"

Command2.FontSize = 15

Command2.FontName = "隶书"

Label3.FontName = "微软雅黑"

Label3.FontSize = 28

End Sub

Private Sub Image1_Click()

End Sub

2 多窗体界面

以下为装载及显示单项所对应的窗体代码:

Private Sub MDIForm_Load()

Top = 0

Width = 82000

Left = 0

Height = 89852

End Sub

Private Sub shanchugongzi_Click()

Load Form7

Form7.Show

End Sub

Private Sub shanchuyuangong_Click()

Load Form11

Form11.Show

End Sub

Private Sub tuichu_Click()

Load Form14

Form14.Show

End Sub

Private Sub xiugaigeren_Click()

Load Form10

Form10.Show

End Sub

Private Sub xiugaigongzi_Click()

Load Form5

Form5.Show

End Sub

Private Sub zengjiayuangong_Click()

Load Form8

Form8.Show

End Sub

3 职工个人信息概览

Private Sub Form_Load()

FontName = "微软雅黑"

FontSize = 25

Width = 422145

Left = 0

Top = 0

Height = 545622

Set MSHFlexGrid1.DataSource = Adodc1 '数据源来自Adodc所连接的数据库

MSHFlexGrid1.Row = 0

MSHFlexGrid1.Col = 0

MSHFlexGrid1.Text = "姓名" '设置MSHFlexGrid1每一列的字段名称

MSHFlexGrid1.Col = 1

MSHFlexGrid1.Text = "学历"

MSHFlexGrid1.Col = 2

MSHFlexGrid1.Text = "职位"

MSHFlexGrid1.Col = 3

MSHFlexGrid1.Text = "职称"

MSHFlexGrid1.Col = 4

MSHFlexGrid1.Text = "毕业院校"

MSHFlexGrid1.Col = 5

MSHFlexGrid1.Text = "出生日期"

MSHFlexGrid1.Col = 6

MSHFlexGrid1.Text = "居住地址"

MSHFlexGrid1.Col = 7

MSHFlexGrid1.Text = "联系方式"

MSHFlexGrid1.ColWidth(0) = 600 '字段的宽度

MSHFlexGrid1.ColWidth(1) = 1000

MSHFlexGrid1.ColWidth(2) = 1000

MSHFlexGrid1.ColWidth(3) = 1000

MSHFlexGrid1.ColWidth(4) = 1000

MSHFlexGrid1.ColWidth(5) = 1000

MSHFlexGrid1.ColWidth(6) = 1000

MSHFlexGrid1.ColWidth(7) = 2800

End Sub

Private Sub MSHFlexGrid1_Click()

Adodc1.Recordset.AbsolutePosition = MSHFlexGrid1.Row '用户每点击MSHFlexGrid1网格就会在上面的文本框内显示

End Sub

4 职工工资信息一览

5添加职工个人信息窗体

Private Sub Command1_Click()

Adodc1.Refresh

Adodc1.Recordset.AddNew

Adodc1.Recordset.Fields("姓名") = Text1.Text

Adodc1.Recordset.Fields("学历") = Text2.Text

Adodc1.Recordset.Fields("职位") = Text3.Text

Adodc1.Recordset.Fields("职称") = Text4.Text

Adodc1.Recordset.Fields("毕业院校") = Text5.Text

Adodc1.Recordset.Fields("出生日期") = CDate(Text6.Text) 'cdate强制转化成日期格式

Adodc1.Recordset.Fields("居住地址") = Text7.Text

Adodc1.Recordset.Fields("联系方式") = Text8.Text

Adodc1.Recordset.Update

End Sub

Private Sub Form8_Load()

FontName = "微软雅黑"

FontSize = 25

Width = 264520

Left = 0

Top = 0

Height = 445622

6改员工个人数据

Data1.Recordset.Edit

Data1.Recordset.Fields("姓名") = Text1.Text

Data1.Recordset.Fields("学历") = Text2.Text

Data1.Recordset.Fields("职称") = Text3.Text

Data1.Recordset.Fields("职位") = Text4.Text

Data1.Recordset.Fields("毕业院校") = Text5.Text

Data1.Recordset.Fields("出生日期") = CDate(Text6.Text)

Data1.Recordset.Fields("居住地址") = Text7.Text

Data1.Recordset.Fields("联系方式") = Text8.Text

 Data1.Recordset.Update

 End If

End Sub

Private Sub Form_Load()

FontName = "微软雅黑"

FontSize = 25

Width = 184520

Left = 0

Top = 0

Height = 245622

End Sub

7删除员工个人信息

Private Sub Form_Load()

Top = 0

Width = 82000

Left = 0

Height = 454852

End Sub

Private Sub Command1_Click()

Dim a As Integer

a = MsgBox("你确定要删除记录吗?", 52, "消息确认")

If a = 6 Then

Data1.Recordset.Delete '删除当前记录

Data1.Recordset.MoveLast '指针移动到最后一条记录

  If Data1.Recordset.EOF Then '判定是否在末记录之后

    Data1.Recordset.MoveLast

  End If

End If

End Sub

Private Sub Image1_Click()

End Sub

8查询员工个人信息

以下为查询记录的代码:

Dim a As String

a = InputBox("请输入准确的姓名", "查找记录", "姓名")

Data1.Recordset.FindFirst "姓名='" & a & "'" '指针找到满足条件的第一条记录

If Data1.Recordset.NoMatch Then '找到相应的记录,属性值为faulse,否则为true

   MsgBox "没有符合条件的记录"

   Else

     MsgBox "符合条件的职工为" & Data1.Recordset.Fields(0) '显示字段名

     End If

End Sub

Private Sub Form_Load()

FontName = "微软雅黑"

FontSize = 25

Width = 184520

Left = 0

Top = 0

Height = 445622

End Sub

8 添加职工工资信息

添加员工工资信息的代码如下:

Private Sub Command1_Click()

Data1.Recordset.AddNew

Data1.Recordset.Fields("姓名") = Text1.Text

Data1.Recordset.Fields("工号") = Text2.Text

Data1.Recordset.Fields("工作部门") = Text3.Text

Data1.Recordset.Fields("职称") = Text4.Text

Data1.Recordset.Fields("基本工资") = Val(Text5.Text)

Data1.Recordset.Fields("岗位工资") = Val(Text6.Text)

Data1.Recordset.Fields("职务补贴") = Val(Text7.Text)

Data1.Recordset.Fields("奖金") = Val(Text8.Text)

Data1.Recordset.Fields("水电费") = Val(Text9.Text)

Data1.Recordset.Fields("房租") = Val(Text10.Text)

Data1.Recordset.Fields("股票分红") = Val(Text13.Text)

Data1.Recordset.Fields("是否股东") = Text12.Text

Data1.Recordset.Fields("实发工资") = Val(Text5.Text) + Val(Text6.Text) + Val(Text7.Text) + Val(Text8.Text) - Val(Text9.Text) - Val(Text10.Text) + Val(Text13.Text)

Data1.Recordset.Update

End Sub

Private Sub Form_Load()

FontName = "微软雅黑"

FontSize = 25

Width = 84520

Left = 0

Top = 0

Height = 45622

End Sub

9 查询工资信息

其代码为

Private Sub Command1_Click()

Dim a As Variant

a = InputBox("请输入准确的工号", "工号", "查找记录")

Data1.Recordset.FindFirst "工号='" & a & "'"

If Data1.Recordset.NoMatch Then

   MsgBox "没有符合条件的记录"

   Else

     MsgBox "符合条件的职工为" & Data1.Recordset.Fields(1)

     End If

     End Sub

    

Private Sub Form_Load()

FontName = "微软雅黑"

FontSize = 25

Width = 84520

Left = 0

Top = 0

Height = 45622

End Sub

10 退出窗体

a% = MsgBox("您真的要退出吗", 52, "退出")

If a = 6 Then

  End

  End If

  End Sub

Private Sub Form_Load()

FontName = "微软雅黑"

FontSize = 25

Width = 14520

Left = 0

Top = 0

Height = 45622

End Sub

五 设计体会

计算机科学是一门博大精深、抽象而又极富乐趣的科学。

一个想要基业长青的公司必然建设有准确、高效的公司数据库系统,而职工工资管理系统则是公司战略数据库系统的一员,因此选择这个课题基于一定的商业价值。而VB这一面向对象设计语言提供了窗体和控件来设计友好的界面,并且能连接ACCESS数据库和SQL数据库,通过一定的编程可以实现数据库的增、删、查、改等操作。

通过本次课程设计,虽然时间只有几天,但感觉学到的知识比平常一个月学到的知识还多。在数据库的建设当中,用ACCESS所建的数据库在VB中data控件无法正常连接,于是改用VB外接程序建立数据库,data和adodc均可以连接。在设计的过程当中,因为要用到MDI窗体和多窗体,因此加深了这两种窗体特性的印象,并能灵活应用。通过load 窗体名以及 窗体名.show可以在一个窗体上弹出另一个窗体。在登陆界面的设计上,多次应用了msgbox函数,弹出消息框,并结合if语句设计密码登陆。在数据库的操作中,利用recordset .addnew.、recordset.edit、recordset.delete、recordset.update进行增删查改。

总之,要学的知识还很多,需要不断学习,不断实践,才能厚积薄发,迈向成功!

更多相关推荐:
课程设计报告

1课程设计目的课程设计是船舶设计原理课程重要的实践性教学环节是培养学生掌握船舶设计基本原理和能力的技术基础主尺度论证与总布置设计是船舶总体设计的重要组成部分通过课程设计的训练力求使学生实现从学生到船舶设计师的角...

课程设计报告内容

一设计目的1强化上机动手能力在理论和实践的基础上进一步巩固数据结构课程学习的内容掌握工程化软件设计的基本方法2掌握图的创建和应用3掌握迪杰斯特拉以及Prim等基本算法思想4掌握if语句及switch语句的运用方...

课程设计报告

中国计量学院信息工程学院课程设计报告课程设计名称系统设计与仿真课程计二级学院信息工程学院专业班级10电信2班学姓成绩号名1000301232廖壁波指导老师20xx年12月13日中国计量学院信息工程学院课程设计报...

课程设计报告模板

信息科学与工程学院高级语言程序设计课程设计报告学生成绩管理系统学科专业计算机科学与技术班级1301学号指导教师唐郑熠讲师学生二零年月目录目录1设计任务12需求分析121基础功能122扩展功能13系统概要设计13...

课程设计报告

扬州大学数据结构课程设计报告课题名称姓名学院系科班级指导老师日期自来水管架设问题广陵学院陈宏建1一课程设计的题目自来水管理架设问题问题描述若要在扬州大学的八个居民区A区B区C区D区E区F区G区H区之间架设自来水...

课程设计报告

系统软件课程设计时钟中断与进程调度学号姓名指导教师11070319许明秀金雪云20xx年12月一报告摘要进程调度是操作系统十分重要的一个部分在操作系统的设计过程中进程调度和时钟中断形成了密不可分的关系系统时钟定...

计算机高级语言课程设计报告—学生成绩管理系统

计算机高级语言课程设计报告学生成绩管理系统班级:学号:姓名:日期:20##年1月18日一.课程设计题目与要求实习题目:学生成绩管理系统【实习内容】C++语言,面向对象的分析与设计。【基本要求】学生成绩管理是高等…

网页课程设计与报告

存档资料成绩:华东交通大学理工学院课程设计报告书所属课程名称网页设计与制作课程设计题目网站首页分院电信分院专业班级信息管理与信息系统1班学号##学生姓名何XX指导教师##20##年12月24日目录第一章绪论..…

简易温度控制系统(课设报告)

长安大学单片机课程设计-简易温度控制系统-专业:电气工程及其自动化学号:姓名:指导老师:时间:20##.12.30摘要随着科技的不断进步,在工业生产中温度是常用的被控参数,而采用单片机来对这些被控参数进行控制已…

Java课程设计报告模板

Java程序设计课程设计报告(20##--20##年度第1学期)Hannio塔专业:计算机科学技术(网络工程)学生姓名:##班级:B计算机##学号:##指导教师:##完成日期:20##年1月8日目录目录...2…

计算机网络课程设计报告

计算机网络课程设计报告一.课程设计的题目、目的及要求.........................................................2二.课程设计的内容(分析和设计).....…

软件课程设计报告

任务书北京信息科技大学计算机软件基础课程设计题目从某个源点到其余各顶点的最短路径学院专业学生姓名班级学号指导老师起止时间任务书1摘要摘要本次课程设计的问题假设西安北京沈阳武汉4个城市构成小型交通网4个城市表示图...

课程设计报告(33篇)