工资管理系统.doc_第1页
工资管理系统.doc_第2页
工资管理系统.doc_第3页
工资管理系统.doc_第4页
工资管理系统.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

12.4 工资管理系统 12.1.1 实例简介工资管理程序的主要任务是根据本单位当月的在册职工,按各有关工资项目的数据分别求出每个人的实发工资。为了财会管理的需要,每月还要打印出各种必要的工资报表。为了完成上述任务,本系统应当满足以下需求:首先,能够存储每个职工当月的工资信息,包括部门、编号、姓名、基本工资、岗位津贴、职务补贴、奖金、房租、水电、实发工资等数据。其次,应当具备增加人员、删除人员、修改数据、报表打印及退出系统等功能。最后完成的应用程序的界面如图12-1所示。图12-1应用程序的界面12.4.2 预习要求本实例涉及以下知识点:l 多文档界面的制作l “可视化数据管理器”的使用l “数据报表设计器”的使用l Access数据库的建立l 数据源的概念l 登录对话框的使用l 在工程中添加“数据环境”的方法l 文本框对象的DataSource属性l 文本框对象的DataField属性l ADO控件的使用l ADO对象的方法和属性l 控件数组的使用12.4.3设计思路对工资管理程序进行分析后,可知该系统的系统功能模块应如图12-2所示。图12-2工资管理系统的功能模块为简单起见,可只用数据库(db1.mdb)中的一个数据表(GZB)来记录所有的数据,其结构如表11-1所示。表11-1 数据表的结构字 段 名 称类型字 段 长 度索引部门文本4编号文本8有(无重复)姓名文本4基本工资数字整型岗位津贴数字整型职务补贴数字整型奖金数字整型房租数字单精度型水电数字单精度型实发工资数字单精度型可以使用VB提供的“可视化数据管理器(VisData)”或是直接在Access中建立数据库以及其中的数据表。在VB中建立如图12-3所示的应用程序窗体,作为“增加人员”、“删除人员”、“修改人员”以及其他几个模块的主窗体。为方便起见,应将该窗体设置为MDI窗体。图12-3应用程序主窗体通常情况下,信息管理系统无论大小,都要具有一定的安全特性。在本工资管理程序中,使用如图12-4所示的登录对话框对用户的身份进行检查,若回答的口令不正确,将立即退出工资管理系统。图12-4应用程序中的登录对话框在数据库应用程序的设计中,首先要建立数据源,也就是应用程序要访问和操作的对象。所谓的数据源,其实是一个数据结构,其中指明了要操作的数据库文件、数据表及其使用 的驱动程序。在数据源正确连接后,就可以建立各个模块(增加、删除、修改、报表、打印等),实现相应的操作。图12-5多模块中使用文本框控件数组绑定数据信息如图12-5所示,在多数模块窗体中,由于使用文本框控件数组显示数据库中的各种信息,因此要将文本框与数据库中的数据信息绑定到一起,这时可通过设置文本框对象的DataSource属性和DataField属性来实现。为了更方便地浏览数据表中的记录信息,在相关模块的窗体中使用了ADO控件。最后,为了方便地打印报表,使用了VB中的“数据报表设计器”。应该指出的是,本实例程序虽然功能简单,但它同时又是一个典型的数据库应用程序。在数据库应用程序的设计中,有非常多的基本概念需要理解,也有一些方法需要掌握,相关问题我们将在技术专题中说明。另外,由于本实例程序分为多个模块,在设计步骤中,我们将以模块为顺序进行说明,其中既包含了模块的设计步骤,又包含了有关的程序代码。12.4.4 设计步骤1. 主控模块的设计在主控模块中,使用了MDI窗体作为整个应用程序的主窗体。(1) 建立界面在VB集成开发环境中,首先将系统建立的缺省窗体删除,然后添加一个MDI窗体作为应用程序的主窗体,具体操作步骤如下。步骤1:单击“工程”菜单中的“移除Form1.frm”命令。步骤2:单击“工程”菜单中的“添加MDI窗体”命令,并将该窗体的名称属性Name设置为main。步骤3:单击“文件”菜单中的“保存工程”命令,将新工程保存为“工资管理.vbp”。步骤4:单击“文件”菜单中的“保存Form1”命令,将主窗体保存为“main.frm”。步骤5:主窗体建立后,在该窗体中添加两个图片框Picture1和Picture2。在Picture1对象中添加一个标签对象Label1;在Picture2对象中添加一个命令按钮数组Command1(0)Comm and1(6),如图12-6所示。图12-6 MDI窗体的设计(2) 设置对象的属性在该窗体中,一共包含11个对象:1个MDI窗体对象main,2个图片框对象Picture1、Pictu re2,1个标签对象Label1,7个命令按钮对象Command1(0)Command1(6)。它们的属性设置如表11-2所示。表11-2主窗体中对象的属性设置对 象 名属 性 名属 性 值说 明mainCaption工程管理系统设置应用程序的标题栏Picture1Align1-Align Top将图片框显示在窗体的上部BorderStyle0-None取消图片框边框的显示Picture2Align1-Align Top将图片框显示在窗体的上部BorderStyle0-None取消图片框边框的显示Label1AutosizeTrue设置标签自动调整大小以满足内容的显示Caption工程管理系统设置标签中显示的字体Command1(0)Caption增加设置命令按钮上显示的内容Command1(1)Caption修改设置命令按钮上显示的内容Command1(2)Caption批处理设置命令按钮上显示的内容Command1(3)Caption删除设置命令按钮上显示的内容Command1(4)Caption浏览设置命令按钮上显示的内容Command1(5)Caption打印设置命令按钮上显示的内容Command1(6)Caption退出设置命令按钮上显示的内容(3) 设计代码编写MDI窗体的Load事件代码,使应用程序启动后显示“登录”对话框,并同时打开数据环境。Private Sub MDIForm_Load()Me.ShowfrmLogin.Show 1DataEnvironment1.Recordsets(1).OpenEnd Sub编写MDI窗体的QueryUnload事件代码,使其在退出应用程序时给出提示。Private Sub MDIFormQueryUn_Load(Cancel As Integer, UnloadMode As Integer)a = MsgBox(退出吗?,vbOKCancle + vbDefaultButton1)If a = vbOK ThenUnload MeElsecancle = TrueEnd IfEnd Sub编写命令按钮控件数组的Click事件代码。Private Sub Command1_Click(Index As Integer)If Forms.Count 1 ThenUnload Forms(Forms.Count - 1)End IfSelect Case IndexCase 0 显示增加模块子窗体frmADD.ShowCase 1 显示修改模块子窗体frmMOD.ShowCase 2 显示批处理模块子窗体frmBAT.ShowCase 3 显示删除模块子窗体frmDEL.ShowCase 4 显示浏览模块子窗体frmBRO.ShowCase 5 显示打印模块子窗体frmPRN.ShowCase 6 退出应用程序Unload MeEnd SelectEnd Sub2登录对话框的设计在应用程序中,登录对话框负责检查用户的合法性。(1) 建立界面建立登录对话框的步骤为:步骤1:单击“工程”菜单中的“添加窗体”命令,出现如图12-7所示的“添加窗体”对话框。图12-7“添加窗体”对话框 步骤2:在“添加窗体”对话框中选择“登录对话框”,然后单击“打开”按钮,即可在当前的工程中添加一个“登录对话框”窗体:frmLogin.frm,如图12-8所示。图12-8登录对话框窗体 (2) 修改代码打开“登录对话框”窗体的代码窗口,可以发现其中已经包含了一些VB源代码,要对这些代码进行修改,以实现应用程序的相应功能。修改“取消”按钮的Click事件代码如下。Private Sub cmdCancel_Click()设置全局变量为 falseLoginSucceeded = FalseUnload Me退出应用程序EndEnd Sub修改“确定”按钮的Click事件代码如下。Private Sub cmdOK_Click()检查正确的密码If txtPassword = “1” ThenLoginSucceeded = TrueUnload MeElseMsgBox 无效的密码,请重试!, , 登录Me.SetFocusSendKeys Home+EndEnd IfEnd Sub为简单起见,本程序的用户密码暂时设置为“1”。3. 建立数据库文件在Access 2000中,建立数据库文件F:db1.mdb,其中包含一个表GZB,操作步骤如下。步骤1:启动Access 2000数据库管理软件。步骤2:在如图12-9所示的对话框中,选择“空Access数据库”单选项,然后单击“确定”按钮,并在随后出现的对话框中选择数据库文件所在的磁盘(例如F:)和数据库文件的名称(例如db1.mdb)。图12-9Access的“新建”对话框 步骤3:在Access 2000中,根据表11-1中的数据结构,建立如图12-10所示的工资表。图12-10建立工资表4. 在工程中添加“数据环境”在工程中添加“数据环境”的步骤为:步骤1:在“工程”菜单中,单击“添加Data Environment”,打开数据环境设计器,同时也为工程添加了一个数据环境DataEnvironment1。DataEnvironment1中包含一个连接对象“Connection1”,如图12-11所示。图12-11数据环境设计器步骤2:用鼠标右键单击“Connection1”,在弹出的快捷菜单中选择“属性”命令,打开“数据链接属性”对话框,如图12-12所示。图12-12 “数据链接属性”对话框步骤3:在如图12-12所示的“提供者”选项卡中,选择“Microsoft Jet 4.0 OLE DB Provider”。在“连接”选项卡(图12-13)中,用鼠标单击“选择或输入数据库名称”框右边的“”按钮,选择所需的数据库路径和名字(F:db1.mdb),其他设置保持不变。图12-13 “连接”选项卡图步骤4:单击“测试连接”按钮,测试连接成功后,单击“确定”按钮关闭对话框,同时回到数据环境设计器中。步骤5:用鼠标右键单击“Connection1”对象,在弹出的快捷菜单中选择“添加命令”,为数据环境添加一个命令对象“Command1”,如图12-14所示。图11-14 添加命令对象“Command1”步骤6:用鼠标右键单击“Command1”对象,在弹出的快捷菜单中选择“属性”,打开“Command1属性”对话框。在“数据库对象”下拉列表中选择“表”,在“对象名称”下拉列表中选择“GZB”,如图12-15所示。图12-15“Command1属性”对话框步骤7:单击“确定”按钮,结束Command1属性的设置,返回到数据环境设计器中。步骤8:为了能使报表分组打印,再为数据环境添加一个命令对象“Command2”,其数据源仍为表GZB,然后在“分组”选项卡中,选中“分组命令对象”复选框,并选择“部门”字 段作为用于分组的字段,如图12-16所示。图12-16“分组”选项卡步骤9:单击“确定”按钮,关闭“属性”对话框。5“增加”模块的设计当需要增加人员的时候,单击应用程序工具栏中的“增加”命令按钮,将弹出一个“增加”对话框窗体,在其中可以输入有关信息。应用程序中的“增加”模块是以主控窗体的子窗体的形式出现的。(1) 建立界面建立“增加”对话框窗体的步骤如下。步骤1:单击“工程”菜单中的“添加窗体”命令,出现如图12-7所示的“添加窗体”对话框。步骤2:在“添加窗体”对话框中选择“窗体”图标,然后单击“打开”命令按钮,则在当前工程中添加了一个新的窗体。步骤3:单击“文件”菜单中的“保存Form1”命令,将新添加的窗体保存为“frmADD.frm”,并将窗体的名称(Name)属性设置为frmADD。步骤4:在窗体frmADD的下部增加一个用作容器的图片框Picture1,然后选中Picture1,在其中增加一个命令按钮控件数组Command1(0)Command1(2)。步骤5:打开数据环境设计器,将命令对象的各个字段用鼠标拖动到窗体frmADD中,如图12-17所示。图12-17 将各个字段拖动到窗体中步骤6:调整拖动到窗体frmADD中的控件大小和位置。完成后的窗体如图12-18所示。图12-18 窗体frmADD(2) 设置对象的属性在frmADD窗体中,共包含25个对象:1个窗体对象frmADD,1个图片框对象Picture1,3个命令按钮对象Command1(0)Command(2),10个用于显示数据库字段名称的标签对象和10个用于存储数据库字段内容的文本框对象。需要设置的属性如表11-3所示。表11-3 frmADD窗体中对象的属性设置对 象 名属 性 名属 性 值说明frmADDCaption增加设置应用程序的标题栏MaxButtonFalse禁止最大化按钮的显示和使用MinButtonFalse禁止最小化按钮的显示和使用MDIChildTrue将窗体设置为MDI子窗体Picture1Align1-Align Bottom将图片框显示在窗体的下部BorderStyle0-None取消图片框边框的显示Command1(0)Caption增加(&A)设置命令按钮上显示的内容Command1(1)Caption确定(&U)设置命令按钮上显示的内容Command1(2)Caption取消(&R)设置命令按钮上显示的内容(3) 设计代码首先在frmADD窗体的通用过程中声明对象变量。Dim rec As ADODB.Recordset编写窗体的Load事件代码如下:Private Sub Form_Load()Left = 0Top = 0Me.Height = main.ScaleHeightMe.Width = main.ScaleWidthSet rec = DataEnvironment1.Recordsets(1)rec.AddNewEnd Sub编写窗体的Unload事件代码,使之退出窗体时取消那些没有经过确定的人员添加。Private Sub FormUn_Load(Cancel As Integer)rec.CancelUpdateEnd Sub编写命令按钮控件数组的Click事件代码如下:Private Sub Command1_Click(Index As Integer)Select Case IndexCase 0rec.AddNewCommand1(1).Enabled = TrueCase 1On Error GoTo err1rec.UpdateBatch adAffectAllChaptersCommand1(1).Enabled = FalseCase 2On Error GoTo err1rec.CancelUpdateEnd SelectExit Suberr1:MsgBox Err.DescriptionEnd Sub6. “修改”模块的设计当需要修改有关人员的工资项目时,可单击应用程序工具栏中的“修改”命令按钮,将弹出一个“修改”对话框窗体,在其中可以修改有关信息。与“增加”模块一样,应用程序中的“修改”模块也是以主控窗体的子窗体形式出现的。(1) 建立界面建立“修改”对话框窗体的步骤如下。步骤1:单击“工程”菜单中的“添加窗体”命令,出现如图12-7所示的“添加窗体”对话框。步骤2:在“添加窗体”对话框中选择“窗体”图标,然后单击“打开”命令按钮,则在当前工程中添加了一个新的窗体。步骤3:单击“文件”菜单中的“保存Form1”命令,将新添加的窗体保存为“frmMOD.frm”,并将窗体的名称(Name)属性设置为frmMOD。步骤4:在窗体frm MOD的下部增加一个用做容器的图片框Picture1,然后选中Picture1,在其中增加一个ADO控件Adodc1。需要注意的是,ADO控件并不是VB的内部控件,用户可能在VB集成环境的工具箱中找不到ADO控件,这时就需要将ADO控件添加到VB的工具箱中。用鼠标右键单击工具箱,并选择快捷菜单中的“部件”命令,出现如图12-19所示的“部件”对话框。图12-19 “部件”对话框在部件对话框的“控件”选项卡中,选中“Microsoft ADO Data Control 6.0(OLEDB)”,使其前面出现“”标记,然后单击“确定”按钮,即可将ADO控件添加到VB集成环境的工具箱中。步骤5:再次选中Picture1,并在其中依次添加1个标签控件数组Label1(0)Label1(9)、1个文本框控件数组Text1(0)Text1(9)和1个命令按钮控件数组Command1(0)Command1(2)。最后完成的窗体如图12-20所示。图12-20窗体frmMOD(2) 设置对象的属性在frmMOD窗体中,共包含26个对象:1个窗体对象frmMOD,1个图片框对象Picture1,1个ADO控件Adodc1,3个命令按钮对象Command1(0)Command(2),10个标签对象用于显示数据库字段名称的标签对象和10个用于存储数据库字段内容的文本框对象。首先设置ADO控件的属性。用鼠标右键单击Adodc1,在弹出的快捷菜单中选择“ADODC属性”,打开“属性页”对话框,如图12-21所示。选中“使用连接字符串”单选按钮,然后单击“生成”命令按钮,进入如图12-22所示的“数据链接属性”对话框,在“提供者”选项卡中,选择“Microsoft Jet 4.0 OLE DB Provider”。在“连接”选项卡中,用鼠标单击“选择或输入数据名称”框右边的“”按钮,选择所需的数据库路径和名字(F:db1.mdb),其他设置保持不变。图12-21“属性页”对话框图12-22“数据链接属性”对话框图12-23“记录源”选项卡当测试连接成功后,单击确定按钮,返回“属性页”对话框,在“使用连接字符串”框中已生成了一个连接字符串“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:db1.mdb;Persist Security Info=False”。在“记录源”选项卡的命令类型下拉列表中选择“2-adCmdTable”,这时“表或存储过程名称”下拉列表变为可用,从中选择“GZB”表,如图12-23所示。单击“确定”按钮可退出“属性页”对话框。除ADO控件外,其他需要设置的属性如表11-4所示。表11-4 MfrmMOD窗体中对象的属性设置对 象 名属 性 名属 性 值说明frmMODCaption修改设置应用程序的标题栏MaxButtonFalse禁止最大化按钮的显示和使用MinButtonFalse禁止最小化按钮的显示和使用MDIChildTrue将窗体设置为MDI子窗体Picture1Align2-Align Bottom将图片框显示在窗体的下部BorderStyle0-None取消图片框边框的显示Command1(0)Caption确定(& U)设置命令按钮上显示的内容Command1(1)Caption取消(&R)设置命令按钮上显示的内容Command1(2)Caption查找(&F)设置命令按钮上显示的内容Label1(0)Caption编号设置标签上显示的内容Label1(1)Caption部门设置标签上显示的内容Label1(2)Caption姓名设置标签上显示的内容Label1(3)Caption基本工资设置标签上显示的内容Label1(4)Caption岗位津贴设置标签上显示的内容Label1(5)Caption职务补贴设置标签上显示的内容Label1(6)Caption奖金设置标签上显示的内容Label1(7)Caption水电费设置标签上显示的内容Label1(8)Caption房租设置标签上显示的内容Label1(9)Caption实发工资设置标签上显示的内容Text1(0)DataSourceAdodc1设置文本框绑定的数据库DataField编号设置文本框绑定的字段Text1(1)DataSourceAdodc1设置文本框绑定的数据库DataField部门设置文本框绑定的字段Text1(2)DataSourceAdodc1设置文本框绑定的数据库DataField姓名设置文本框绑定的字段Text1(3)DataSourceAdodc1设置文本框绑定的数据库DataField基本工资设置文本框绑定的字段Text1(4)DataSourceAdodc1设置文本框绑定的数据库DataField岗位津贴设置文本框绑定的字段Text1(5)DataSourceAdodc1设置文本框绑定的数据库DataField职务补贴设置文本框绑定的字段Text1(6)DataSourceAdodc1设置文本框绑定的数据库DataField奖金设置文本框绑定的字段Text1(7)DataSourceAdodc1设置文本框绑定的数据库DataField水电费设置文本框绑定的字段Text1(8)DataSourceAdodc1设置文本框绑定的数据库DataField房租设置文本框绑定的字段Text1(9)DataSourceAdodc1设置文本框绑定的数据库DataField实发工资设置文本框绑定的字段(3) 设计代码编写窗体的Load事件代码如下。Private Sub Form_Load()Left = 0Top = 0Me.Height = main.ScaleHeightMe.Width = main.ScaleWidthEnd Sub编写窗体的Unload事件代码如下。Private Sub FormUn_Load(Cancel As Integer)source0 = DataEnvironment1.Recordsets(1).Sourceactiveconnection0 =DataEnvironment1.Recordsets(1).ActiveConnectionDataEnvironment1.Recordsets(1).CloseDataEnvironment1.Recordsets(1).Open source0,activeconnection0,3,3End Sub编写命令按钮控件数组的Click事件代码如下。Private Sub Command1_Click(Index As Integer)Select Case IndexCase 0On Error GoTo err1Adodc1.Recordset.UpdateBatch adAffectAllCase 1On Error GoTo err1Adodc1.RefreshCase 2aa = InputBox(查找姓名为:, , *)If aa * ThenAdodc1.Recordset.MoveFirstAdodc1.Recordset.Find 姓名 like & aa & * End IfEnd SelectExit Suberr1:MsgBox Err.DescriptionEnd Sub编写Adodc1的MoveComplete事件代码如下。Private Sub Adodc1MoveComplete(ByVal adReason As ADODB.EventReasonEnum,ByVal pError As ADODB.Error,adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)为recordset显示当前记录位置Adodc1.Caption = Record: & CStr(Adodc1.Recordset.AbsolutePosition)End Sub7. “删除”模块的设计当需要删除有关人员的工资项目时,可单击应用程序工具栏中的“删除”命令按钮,将弹出 一个“删除”对话框窗体,其中可以删除有关信息。与增加和修改模块一样,应用程序中的 “删除”模块也是以主控窗体的子窗体的形式出现的。(1) 建立界面建立“删除”对话框窗体的步骤如下。步骤1:单击“工程”菜单中的“添加窗体”命令,出现如图12-7所示的“添加窗体”对话框。步骤2:在“添加窗体”对话框中选择“窗体”图标,然后单击“打开”命令按钮,则在当前工程中添加了一个新的窗体。步骤3:单击“文件”菜单中的“保存Form1”命令,将新添加的窗体保存为“frmDEL.frm”,并将窗体的名称(Name)属性设置为frmDEL。图12-24窗体frmDEL步骤4:在窗体frm MOD的下部增加一个用做容器的图片框Picture1,然后选中Picture1,在其中增加1个ADO控件Adodc1,1个标签控件数组Label1(0)Label1(9)、1个文本框 控件数组Text1(0)Text1(9)和1个命令按钮控件数组Command1(0)Command1(1)。最后完成的窗体如图12-24所示。(2) 设置对象的属性在frmDEL窗体中,共包含25个对象:1个窗体对象frmDEL,1个图片框对象Picture1,1个ADO控件Adodc1,两个命令按钮对象Command1(0)Command(1),10个用于显示数据库字段名称的标签对象和10个用于存储数据库字段内容的文本框对象。其中,Picture1对象、Adodc1对象、10个标签对象、10个文本框对象的属性设置与frmMOD窗体中相应对象的属性设置完全相同,请参照表11-4进行设置,其他需要设置的对象属性如表11-5所示。表11-5 frmDEL窗体中对象的属性设置对 象 名属 性 名属 性 值说明frmDELCaption删除设置应用程序的标题栏MaxButtonFalse禁止最大化按钮的显示和使用MinButtonFalse禁止最小化按钮的显示和使用MDIChildTrue将窗体设置为MDI子窗体Command1(0)Caption删除(&D)设置命令按钮上显示的内容Command1(1)Caption查找(&F)设置命令按钮上显示的内容(3) 设计代码代码的设计与“修改”模块也基本相同,只需要将命令按钮控件数组的Click事件程序修改为如下代码。Private Sub Command1_Click(Index As Integer)Select Case IndexCase 0On Error GoTo err1With Adodc1.Recordset.Delete.MoveNextIf .EOF Then .MoveLastEnd WithExit SubCase 1On Error GoTo err1aa = InputBox(查找姓名为:, , *)If aa * ThenAdodc1.Recordset.MoveFirstAdodc1.Recordset.Find 姓名 like & aa & * End IfEnd SelectExit Suberr1:MsgBox Err.DescriptionEnd Sub8. “浏览”模块的设计通过实例程序中的“浏览”模块,可以快速浏览整个数据库中的记录信息,与前面的模块一样,“浏览”模块所在的窗体也同样是一个MDI窗体的子窗体。(1) 建立界面建立“浏览”对话框窗体的步骤如下。步骤1:单击“工程”菜单中的“添加窗体”命令,出现图12-7所示的“添加窗体”对话框。步骤2:在“添加窗体”对话框中选择“窗体”图标,然后单击“打开”命令按钮,则在当前工程中添加了一个新的窗体。步骤3:单击“文件”菜单中的“保存Form1”命令,将新添加的窗体保存为“frmBRO.frm”,并将窗体的名称(Name)属性设置为frmBRO。步骤4:在窗体中增加一个表格控件DataGrid1,如图12-25所示。图12-25 增加表格控件DataGridl需要注意的是,类似于ADO控件,表格控件DataGrid也不是VB的内部控件,需要用户将表格控件DataGrid添加到VB的工具箱中,这一步操作可通过图12-19所示的“部件”对话框 进行。(2) 设置对象的属性在frmBRO对话框窗体中,一共只有两个对象:窗体对象frmBRO和表格控件对象DataGrid1,首先要根据表11-6进行相应对象属性的设置。表11-6frmBRO窗体中对象的属性设置对 象 名属 性 名属 性 值说明frmBROCaption浏览设置应用程序的标题栏MaxButtonFalse禁止最大化按钮的显示和使用MinButtonFalse禁止最小化按钮的显示和使用MDIChildTrue将窗体设置为MDI子窗体DataGrid1DataSourceDataEnvironment1将表格与数据源绑定DataMemberCommand1指定网络数据的源在上述对象的属性设置完成后,用鼠标右键单击DataGrid1对象,在弹出的快捷菜单中选择“检索字段”,如图12-26所示。这时系统将弹出如图12-27所示的“检索字段”对话框。图12-26在快捷菜单中选择“检索字段”图12-27“检索字段”对话框在确认用新的字段定义替换现有的表格布局后,即可将命令对象Command1中的字段与表格中的各列建立数据绑定。数据绑定后的界面如图12-28所示。如果需要的话,可以用鼠标单击“属性”窗口中“自定义”项右侧的“”按钮,在弹出的“属性页”对话框中修改各列的宽度、高度等属性,如图12-29所示。图12-28数据绑定后的窗体界面图12-29“属性页”对话框(3) 设计代码编写窗体的Load事件代码如下。Private Sub Form_Load()Left = 0Top = 0Me.Height = main.ScaleHeightMe.Width = main.ScaleWidthWith DataGrid1.Left = 0.Top = 0.Height = Me.ScaleHeight.Width = Me.ScaleWidthEnd Withsource0 = DataEnvironment1.Recordsets(1).Sourceactiveconnection0 = _DataEnvironment1.Recordsets(1).ActiveConnectionDataEnvironment1.Recordsets(1).CloseDataEnvironment1.Recordsets(1).Open source0, activeconnection0, 3, 3End Sub9. “批处理”模块的设计“批处理”模块除了用于计算数据库中的实发工资字段值以外,还可用于实现月初始化。(1) 建立界面建立“批处理”对话框窗体的步骤如下。步骤1:单击“工程”菜单中的“添加窗体”命令,出现图12-7所示的“添加窗体”对话框。步骤2:在“添加窗体”对话框中选择“窗体”图标,然后单击“打开”命令按钮,则在当前工程中添加了一个新的窗体。步骤3:单击“文件”菜单中的“保存Form1”命令,将新添加的窗体保存为“frmBAT.frm”,并将窗体的名称(Name)属性设置为frmBAT。步骤4:在窗体中增加1个单选按钮控件数组Option1(0)Option1(1),1个标签控件Label1,1个命令按钮控件Command1,1个分类框Frame1和1个复选框控件数组Check1(0)Check1(4)。最后完成的窗体如图12-30所示。图12-30 窗体frmBAT(2) 设置对象的属性在frmBAT窗体中,共包含10个对象:1个窗体对象frmBAT,1个命令按钮对象Command1,2个单选按钮对象Option1(0)Option1(1),一个分类框对象Frame1,5个复选框对象Check1(0)Check1(4)。其中需要设置的对象属性如表11-7所示。表11-7 frmBAT窗体中对象的属性设置对 象 名属 性 名属 性 值说明frmBATCaption批处理设置应用程序的标题栏MaxButtonFalse禁止最大化按钮的显示和使用MinButtonFalse禁止最小化按钮的显示和使用MDIChildTrue将窗体设置为MDI子窗体Command1Caption开始设置命令按钮上显示的内容Frame1Caption请选择月初始化清零的字段设置命令按钮上显示的内容 Option1(0)Caption计算实发工资设置单选按钮上显示的内容ValueTrue将单选按钮设置为选中状态Option1(1)Caption月初始化设置单选按钮上显示的内容Check1(0)Caption岗位津贴设置复选框上显示的内容Check1(1)Caption职务补贴设置复选框上显示的内容Check1(2)Caption奖金设置复选框上显示的内容Check1(3)Caption房租设置复选框上显示的内容Check1(4)Caption水电费设置复选框上显示的内容(3) 设计代码编写窗体的Load事件代码如下。Private Sub Form_Load()Left = 0Top = 0Me.Height = main.ScaleHeightMe.Width = main.ScaleWidthFrame1.Enabled = Option1(1).ValueFor i = 0 To 4Check1(i).Enabled = Option1(1).ValueNextEnd Sub编写窗体的Unload事件代码如下。Private Sub FormUn_Load(Cancel As Integer)DataEnvironment1.Connections(1).CancelEnd Sub编写单选按钮控件数组的Click事件代码如下。Private Sub Option1_Click(Index As Integer)Frame1.Enabled = Option1(1).ValueFor i = 0 To 4Check1(i).Enabled = Option1(1).ValueNextEnd Sub编写命令按钮的Click事件的代码如下。Private Sub Command1_Click()If Option1(0) Thenaa = 实发工资=基本工资+岗位津贴+职务补贴+奖金-水电费-房租Elseaa = For i = 0 To 4If Check1(i) Then aa = aa & Check1(i).Caption & =0,Nextaa = aa & 实发工资=0End IfDataEnvironment1.Connections(1).Execute Update GZB set & aaEnd Sub10. “打印”模块的设计在工资实例程序的“打印”模块中,可以进行打印工资报表和打印工资条两种操作。(1) 建立界面建立“打印”对话框窗体的步骤如下。步骤1:单击“工程”菜单中的“添加窗体”命令,出现图12-7所示的“添加窗体”对话框。步骤2:在“添加窗体”对话框中选择“窗体”图标,然后单击“打开”命令按钮,则在当前工程中添加了一个新的窗体。步骤3:单击“文件”菜单中的“保存Form1”命令,将新添加的窗体保存为“frmPRN.frm ”,并将窗体的名称(Name)属性设置为frmPRN。步骤4:在窗体中增加两个命令按钮控件Command1和Command2,如图12-31所示。图12-31窗体frmPRN在frmPRN窗体中,共包含3个对象:1个窗体对象frmPRN,2个命令按钮对象Command1、Co mmand2,其中需要设置的对象属性如表11-8所示。表11-8frmPRN窗体中对象的属性设置对 象 名属 性 名属 性 值说明frmBATCaption打印设置应用程序的标题栏MaxButtonFalse禁止最大化按钮的显示和使用MinButtonFalse禁止最小化按钮的显示和使用MDIChildTrue将窗体设置为MDI子窗体Command1Caption打印工资报表设置命令按钮上显示的内容Command2Caption打印工资条设置命令按钮上显示的内容(2) 设计代码编写窗体的Load事件代码如下。Private Sub Form_Load()Left = 0Top = 0Me.Height = main.ScaleHeightMe.Width = main.ScaleWidthEnd Sub编写命令按钮Command1的Click事件代码如下。Private Sub Command1_Click()DataReport1.ShowEnd Sub编写命令按钮Command2的Click事件代码如下。Private Sub Command2_Click()DataReport2.ShowEnd Sub11. 打印工资报表DataReport1.DSR的设计设计打印工资报表的步骤如下。步骤1:单击“工程”菜单中的“添加Data Report”命令,出现如图12-32所示的“数据报表设计器”。图12-32数据报表设计器步骤2:在属性窗口中设置DataReport1对象的属性。l DataSource属性改为:DataEnvironment1l DataMember属性改为:Command2分组一点通:要把DataSource属性改为DataEnvironment1,则数据环境设计器必须是打开的。如果数据环境设计器是关闭的,请按下Ctrl + R 键显示“工程”窗口,然后双击数据环境图标。步骤3:右键单击数据报表设计器,打开快捷菜单,如图12-33所示。图12-33数据报表的快捷菜单从快捷菜单中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论