已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) 摘 要 本论文从可行性研究报告、需求说明书、设计文档、程序、测试报告、用户手册等六个部分对水费管理系统进行了从头到尾的设计,通过这些步骤,该系统逐步实现了从文档到程序的可能性,从设计方法而言,本系统采用了快速原型法。首先,可性行研究报告对该系统进行调研、分析后得到它的系统流程图、总数据流图、模块和计划表;其次,需求说明书画出了该系统的详细数据流图和数据词典;第三,设计文档导出了详细的结构图以及各模块功能;第四,程序给出了该系统的程序清单;第五,测试报告从黑盒法给出了该系统的测试数据;第六,用户手册给出 了该程序的说明书。从这六个方面,本系统的设计及功能实现得到了详尽的阐述。 一、 可行性研究报告 对于银川市自来水公司水费管理系统,经过仔细调研后,形成报告如下: 复查系统目标和规模 将该系统的各种原始资料收集完整后,发现该系统是一个中型的软件系统。它由四个模块组成:系统管理、表单操作、统计报表和手持机操作。其中,系统管理主要是系统的一些资料设定及相关的建库工作;表单操作包括对输入数据的一些处理以及输出等;统计报表包括对报表的相关处理;手持机操作则是对磁卡水表的数据初始化及编辑。 研究目前正在使用的系统 对该系统的 四个模块进行研究后发现模块的划分不清楚,有些功能没有实现等一些问题,故可以将其改进,如可以加入查询功能,系统管理、表单操作、统计报表不变,但需重新划分,手持机操作则可以删去。本系统的整体思路是:当软件初次使用时,先进行系统初始化,建立权限表、用户档案、水费标准库三个数据库,系统初始化调用公共模块的公共过程实现,以后使用时,登录后进入程序主界面。首先,从系统管理入手,先进行操作员管理(只有系统管理员才能使用),设定人员权限,再进行密码修改,然后设定水费价格、进行用户编辑、用户注销、新建工作期,新建工作期新建主 数据库并更新(还可以更新系统库),其实现方法采用对象变量实现,另外,数据备份和数据恢复可以从软盘和硬盘两个方面进行备份和恢复;其次,表单操作、统计报表、查询三个模块都使用了 DAO 模型,采用数据控件和数据绑定控件实现,其中,打印发票加入了打印功能,发票移交、用户分布表不使用数据控件,只使用了网格控件,程序中使用了对象变量。现给出现有系统的高层系统流程图: 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) 抄 表 员 抄表 表单处 理 打印发 票 用 户 交费 收 费 站 统计报 表 查 询 系统管 理 图 1-1 系统流程图 导出新系统的高层逻辑模型 通过上一步的实现,可以导 出新系统的高层逻辑模型,下面用数据流图来表示: 系统主文件 卡 片 抄表数据 发票 主库文件 图 1-2 数据流图 抄表卡片 初始数据 表单处理程序 主库 文 件 查询程序 打印发票程序 发 票 系统管理程序 系统 主文件 统计报表程序 操 作 员 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) 其中,虚线框表示的是可用计算机实现的部分,而虚线框之外的则是用人工处理的部分。 导出和评价供选择的方案 由前步可以对该系统修改如下: 系 统 管 理 表 单 操 作 统 计 报 表 查 询 新 建 工 作 期 表 单 处 理 打 印 发 票 发 票 移 交 报 表 日 报 汇 总 标 签 历 史 查 询 当 月 查 询 用 户 编 辑 用 户 注 销 用 户 校 验 表 单 销 号 用 户 查 询 未 抄 表 用 户 用 户 分 布 表 公 司 资 料 设 定 水 费 价 格 设 定 分 区 维 护 水 费 汇 总 污 水 处 理 费 汇 总 销 号 清 单 数 据 备 份 数 据 恢 复 操 作 员 管 理 修 改 密 码 草拟开发计划 经过以上步骤,经分析草拟开发计划如下: 可行性研究与计划一周、需求分析一周、概要设计一周、编程两周、测试一周,共需周,即一个半月。 由于本系统用 VB 实现,它属于面向对象 编程,故详细设计可以省略。 以下为开发计划表: 计 划 任 务 时 间 ( 周 次 ) 可行性研究与计划 需求分析 概要设计 编 程 测 试 1 2 3 4 5 6 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) 二、 需求说明书 数据流图 由上一节的可行性研究报告可知,根据 SA 方法可以画出该系统的数据流图。 顶层 汇 总 表 抄表数据 报表 发票 日报表 月 查询单 报 查 报 表 询 表 单 图 系统主文件 抄表数据 发 票 主库文件 各种报表 查询单 水费管理系统 抄表员 操作员 用户 财务室 领导 1 系统管理 2 表单处理 操作员 用户 3 统计报表 4 查询 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) 图 1 用户档案 系统管理员 备份文件 一般用户 权限表 主库文件 图 1.1 编号 户名 地址 备注 其它 主库文件 图 1.2 用户档案 1.1 建立用户档案 1.2 管理用户档案 1.3 操作人员权限 1.4 数据备份与恢复 1.1.1 新建工作期 1.2.1 用户编辑 1.2.3 用户校验 1.2.2 用户注销 1.2.4 用户类型设定 1.2.5 分区维护 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) 1.3.3 修改密码 图 1.3 系统 管理员 一般用户 用户档案 系统管理员 一般用户 密 权限表 码 图 1.4 主库文件 用户档案 备份文件 水费标准库 图 2 收费标准 抄表数据 发票 用 水记录 用户档案 主库文件 图 3 月报表 日报表 主库 文件 1.3.1 设定人员 1.3.2 设定密码 1.4.1 备份数据 1.4.2 恢复数据 2.1 输入当月读数 2.2 计算 2.3 打印发票 3.1 产生月报表 3.2 产生日报表 3.3 产生汇总表 3.4 未打发票用户 财务室 操作员 抄表员 领导 抄表员 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) 图 3.3 汇总数据 图 3.4 未打发票用户数据 图 4 查询单 查询单 主 查询单 库 文 件 查询单 其中,图、图及其子图是变换型结构,图、图及其子图是事务型结构。 3.3.1 每个小区明细表 3.3.2 片区汇总表 3.3.3 根据历史记录用水情况表 抄表员 领 导 3.4.1读数 3.4.2未抄 3.4.3 表损坏 3.4.4 漏水 (送修 ) 抄表员 3.4.5 还未录入 操作员 4.1 历史查询 4.2 当月查询 4.4 用户查询 4.3 用水异常 查询者 领导 用户 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) 数据词典 根据数据流图可写出数据词典如下: 文件名:系统主文件 别 名:用户档案 组 成:编号 +户名 +地址 +备注 +其它 组 织:按编号英文字母数字顺序排列 文件名:主库文件 组 成:编号 +户名 +地址 +备注 +上月读数 +当月读数 +水费 +其它 组 织:按编号英文字母数字顺序排列 文件名:水费标准库 组 成:用户类型 +收费标准 组 织:按用户类型英文字母数字顺序排列 文件名:备份文件 组 成:同主库文件 组 织:同主库文件 注 释:文件名按年月名生成,每月一个文件,文件可压缩 文件名:权限表 组 成:编号 +人员代号 +人员名 +姓名 +密码 组 织:按编号英文字母数字顺序排列 数据流名:抄表数据 组 成:编号 +户名 +地址 +每月读数 +其它 数据流名:发票 组 成:编号 +户名 +地址 +每月读数 +水量 +金额 +其它 数据流名:报表 组 成:同主库文件 注 释:包括月报表、日报表、汇总表、未打发票用户 数据流名:查询单 组 成:同主库文件 注 释:包括历史查询单、当月查询单、用户查询单 数据项名:编号 值:数字 0-9 数据项名:户名 值:字符串 数据项名:地址 值:字符串 数据项名:备注 值:字符串 数据项名:其它 值:根据具体名字取值 注 释:该数据项为一些无关紧要的数据项 数据项名:人员代号 值:数字 0-9 数据项名:人员名 组 成:系 统管理员一般用户 值:字符串 数据项名:姓名 值:字符串 数据项名:系统管理员 值:字符串 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) 数据项名:一般用户 值:字符串 数据项名:密码 值:字符串 数据项名:上月读数 值:数字 -9,整型数, 0-20,000 数据项名:当月读数 值:数字 0-9,整型数, 0-20,000 数据项名:水费 值:数字 -9,小数点“” 数据项名:金额 值:数字 -9,小数点 “ ” 数据项名:用户类型 值:字符串 数据项名:收费标准 值:数字 0-9,小数点“” 三、设计文档 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) 查询 设定人员 设定密码 修改密码 1结构图 根据 SD 方法,由上一节数据流图可以推导出结构图如下: 顶层 汇总表 报表 月 查 查询单 报 询 报 发 抄表数据 日报表 表 单 表 票 图 0 发票 各种 查询 抄表数据 报表 单 图 1 编号 主 户名 备注 库 地址 其它 文 件 备份 文件 备份 文件 图 2 水费管理系统 抄表员 操作员 领导 用户 财务室 水费管理系统 系统管理 表单处理 统计报表 操作员 用户 输出 输出 系统管理 建立用户档案 管理用户档案 操作人员权限 数据备份与恢复 输入 输出 用户编辑 用户注销 用户校验 用户类型设定 备份数据 恢复数据 输出 输入 表单处理 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) 抄表数据 发 用水记录 收费标准 票 图 3 月报表 日报表 图 4 查 查询单 询 查询单 单 查询单 2模块功能 各种模块的功能如下: 输入当月读数 计算 打印发票 输入 输入 输出 统计报表 产生月报表 财务室 产生日报表 操作员 产生汇总表 未打发票用户 每个小区 明细表 片区汇总表 根据历史记录用水情况表 抄表员 领导 还未录入 操作员 读数 未抄 表损坏 漏水(送修 ) 抄表员 查询 历史查询 当月查询 用户查询 查询者 用水异常 领 导 用户 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) 模 块:水费管理系统 功 能:处理日常用水情况的一套综合管理工具 模 块:系统管理 功 能:对于系统的特殊功能进行管理的模块 模 块:表单处理 功 能:处理输入数据、计算、及打印发票的模块 模 块:统计报表 功 能:统计并产生各种报表的模块 模 块:查询 功 能:产生各种查询的模块 模 块:建立用户档案 功 能:新建每个用户的最初档案 模 块:管理用户档案 功 能:分为用户编辑、用户注销、用户 校验、用户类型设定几个子模块 模 块:操作人员权限 功 能:设定人员及密码的模块,其中人员分为系统管理员和一般人员包括录单员、 档案录入人员、查询人员、操作员),系统管理员可以设定其它人员的权限。 模 块:数据备份与恢复 功 能:备份数据和恢复数据 模 块:输入当月读数 功 能:输入每月的水表读数 模 块:计算 功 能:计算水费 模 块:打印发票 功 能:将发票打印输出 模 块:产生月报表 功 能:产生每月的月报表 模 块:产生日报表 功 能:产生每天的日报表 模 块:产生汇总表 功 能:分为每个小区明细表、片区汇总表、根据历史记录用水情况表几个子模块 模 块:未打发票用户 功 能:分为未抄、表损坏、漏水(送修)、还未录入 几个子模块 模 块:历史查询 功 能:查询历史记录 模 块:当月查询 功 能:查询当月用水情况,包括用水异常 模 块:用户查询 功 能:根据用户提出的情况进行查询 四、 程序清单 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) FrmSplash (快速启动窗体 ) Option Explicit Private Sub Form_KeyPress(KeyAscii As Integer) Unload Me End Sub Private Sub Form_Load() lblVersion.Caption = 版本 & App.Major & . & App.Minor & . & App.Revision lblProductName.Caption = App.Title End Sub Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single) End Sub Private Sub Timer1_Timer() Unload Me End Sub FrmLogin(登陆窗体) Option Explicit Public LoginSucceeded As Boolean Dim ws As Workspace, db As Database, rs As Recordset Dim ReadNum() As Integer, ReadNameNum() As Integer Dim ReadName1() As String, ReadName2() As String Dim ReadPassword() As String Private Sub cmdCancel_Click() 设置全局变量为 false 不提示失败的登录 LoginSucceeded = False Me.Hide End Sub Private Sub cmdOK_Click() 检查正确的密码 Dim ReadIndex As Integer ReadIndex = txtCombo.ListIndex + 1 If txtPassword = ReadPassword(ReadIndex) Then 将代码放在这里传递 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) 成功到 calling 函数 设置全局变量时最容易的 OperatorNum = ReadNum(ReadIndex) OperatorNameNum = ReadNameNum(ReadIndex) OperatorName1 = ReadName1(ReadIndex) OperatorName2 = ReadName2(ReadIndex) LoginSucceeded = True Me.Hide Else MsgBox 无效的密码,请重试 !, , 登录 txtPassword.SetFocus SendKeys Home+End End If End Sub Private Sub Form_Load() 打开权限表 Dim strAppName As String strAppName = App.Path + 权限表 .mdb Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase(strAppName, False, True) Set rs = db.OpenRecordset(权限表 ) 向组合框中添加人员名 Dim i, ReadCount As Integer ReadCount = rs.RecordCount ReDim Preserve ReadNum(ReadCount), ReadNameNum(ReadCount) ReDim Preserve ReadName1(ReadCount), ReadName2(ReadCount) ReDim Preserve ReadPassword(ReadCount) rs.MoveFirst For i = 1 To ReadCount ReadNum(i) = rs.Fields(编号 ) ReadNameNum(i) = rs.Fields(人员代号 ) ReadName1(i) = rs.Fields(人员名 ) ReadName2(i) = rs.Fields(姓名 ) If rs.Fields(密码 ) Then rs2.Fields(上月读数 ) = rs.Fields(上月读数 ) Else rs2.Fields(上月读数 ) = 0 End If If rs.Fields(本月读数 ) strPasswordConfirm Then MsgBox 确认密码不对 !, vbExclamation + vbOKOnly, 修改密码 txtConfirm.SetFocus SendKeys Home+End Exit Sub End If 向数据库中写入密码 Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase(App.Path + 权限表 .mdb, False, False) Set rs = db.OpenRecordset(权限表 ) rs.MoveFirst rs.Move OperatorNum - 1 rs.Edit rs.Fields(密码 ) = Trim(strPassword) rs.Update 关闭数据库 rs.Close db.Close ws.Close Set rs = Nothing Set db = Nothing Set ws = Nothing MsgBox 修改密码成功 !, vbInformation + vbOKOnly, 修改密码 Unload Me End Sub Private Sub Form_Load() txtName.Text = OperatorName2 FrmFormProcess(表单处理窗体 ) Option Explicit Dim db As Database, rs As Recordset Dim fso As New FileSystemObject Dim curWaterPrice(5) As Currency, curWaterDirty(5) As Currency Dim WaterMeter(9) As Long, WaterLimit(9) As Long Dim InputIndex As Integer, RegionIndex As Integer Private Sub cmdExit_Click(Index As Integer) Unload Me 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) End Sub Private Sub cmdRefresh_Click() 只有多用户应用程序需要 On Error GoTo RefreshErr Data1.Refresh Exit Sub RefreshErr: MsgBox Err.Description End Sub Private Sub cmdUpdate_Click(Index As Integer) On Error GoTo UpdateErr Data1.UpdateRecord Exit Sub UpdateErr: MsgBox Err.Description End Sub Private Sub comRegion_Click(Index As Integer) 根据分区号选择分区 Dim RegionNumber As Integer, strSQL As String RegionNumber = comRegion(Index).ListIndex + 1 RegionIndex = RegionNumber Select Case Index Case 0 表单录入 strSQL = select * from 主库文件 where 分区 = & RegionNumber Case 1 表单编辑 Select Case InputIndex Case 0 分区及已录单 strSQL = select * from 主库文件 where 分区 = & RegionNumber _ & and 录单 =True Case 1 分区及未录单 strSQL = select * from 主库文件 where 分区 = & RegionNumber _ & and 录单 =False End Select End Select Data1.RecordSource = strSQL Data1.Refresh End Sub Private Sub Data1_Reposition() Data1.Caption = 记录 : & Data1.Recordset.AbsolutePosition + 1 End Sub 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) Private Sub Form_Load() 水表直径与起收底数 WaterMeter(1) = 20: WaterMeter(2) = 25: WaterMeter(3) = 32 WaterMeter(4) = 40: WaterMeter(5) = 50: WaterMeter(6) = 80 WaterMeter(7) = 100: WaterMeter(8) = 150: WaterMeter(9) = 200 WaterLimit(1) = 4: WaterLimit(2) = 8: WaterLimit(3) = 15 WaterLimit(4) = 25: WaterLimit(5) = 40: WaterLimit(6) = 60 WaterLimit(7) = 80: WaterLimit(8) = 200: WaterLimit(9) = 300 Dim strOpenName As String strOpenName = App.Path & Main & Year(Now) & Month(Now) & .mdb 设定数据控件属性 Data1.DatabaseName = strOpenName Data1.RecordSource = 主库文件 将表单录入字段加入 txtFields1(0).DataField = 编号 : txtFields1(1).DataField = 户型 txtFields1(2).DataField = 户名 : txtFields1(3).DataField = 地址 txtFields1(4).DataField = 本月读数 : txtFields1(5).DataField = 上月读数 txtFields1(6).DataField = 发票号 : txtFields1(7).DataField = 新表止码 txtFields1(8).DataField = 新表起码 : txtFields1(9).DataField = 实用水量 txtFields1(10).DataField = 排污费金额 : txtFields1(11).DataField = 水费 txtFields1(12).DataField = 水费金额 txtFields1(13).DataField = 合计金额 : txtFields1(14).DataField = 污水处理费 txtFields1(15).DataField = 金额大写 : txtFields1(16).DataField = 污水处理费折扣 txtFields1(18).DataField = 分区 将表单编辑字段加入 txtFields2(0).DataField = 上月读数 : txtFields2(1).DataField = 本月读数 txtFields2(2).DataField = 新表起码 : txtFields2(3).DataField = 新表止码 txtFields2(4).DataField = 发票号 : txtFields2(5).DataField = 实用水量 txtFields2(6).DataField = 排污费金额 : txtFields2(7).DataField = 水费金额 txtFields2(8).DataField = 合计金额 Dim i As Integer For i = 0 To 1 comStyle(i).DataField = 表单类型 comStyle(i).AddItem 正常表单 : comStyle(i).AddItem 本月调表 comStyle(i).AddItem 临时录单 : comStyle(i).AddItem 表黑暂开 comStyle(i).AddItem 表停暂开 : comStyle(i).AddItem 表坏暂开 Next For i = 0 To 1 chkInput(i).DataField = 录单 Next 加入分区数 For i = 1 To RegionNumber comRegion(0).AddItem i comRegion(1).AddItem i Next 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) 刷 新数据控件 Data1.Refresh 读取水费价格 Set db = Workspaces(0).OpenDatabase(App.Path & 水费标准库 .mdb, False, True) Set rs = db.OpenRecordset(水费标准 ) rs.MoveFirst For i = 1 To 5 curWaterPrice(i) = rs.Fields(收费标准 ) curWaterDirty(i) = rs.Fields(污水处理费 ) rs.MoveNext If rs.EOF Then rs.MoveLast Next rs.Close db.Close Set rs = Nothing Set db = Nothing End Sub Private Sub optInput_Click(Index As Integer) Dim strSQL As String Select Case Index Case 0 已录单用户 InputIndex = 0 strSQL = select * from 主库文件 where 分区 = & RegionIndex _ & and 录单 =True Case 1 未录单用户 InputIndex = 1 strSQL = select * from 主库文 件 where 分区 = & RegionIndex _ & and 录单 =False End Select Data1.RecordSource = strSQL Data1.Refresh End Sub Private Sub txtFields1_LostFocus(Index As Integer) Select Case Index Case 4 本月读数 Dim WI As Long, i As Integer, WJ As Integer WI = Data1.Recordset.Fields(水表直径 ) For i = 1 To 9 If WaterMeter(i) = WI Then WJ = i Next If Val(txtFields1(Index) 0 Then strNumber = strNumber & ShiftPrice(PerNum) If i 1 Then strNumber = strNumber & ShiftPrice(lngI) End If End If WaterTotalCopy = WaterTotalCopy - PerNum * lngI If PerNum = 0 And WaterTotalCopy 0 Then strNumber = strNumber & ShiftPrice(PerNum) strNumber = strNumber & 角 End If WaterTotalCopy = WaterTotalCopy - PerNum / 10 PerNum = WaterTotalCopy * 100 If PerNum 0 Then 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) strNumber = strNumber & ShiftPrice(PerNum) If i 1 Then strNumber = strNumber & ShiftPrice(lngI) End If End If WaterTotalCopy = WaterTotalCopy - PerNum * lngI If PerNum = 0 And WaterTotalCopy 0 Then strNumber = strNumber & ShiftPrice(PerNum) strNumber = strNumber & 角 End If WaterTotalCopy = WaterTotalCopy - PerNum / 10 PerNum = WaterTotalCopy * 100 If PerNum Then RowsNum = RowsNum + 1 Data1.Recordset.MoveNext Wend ReDim prnTable(RowsNum, 11) Dim i As Long, j As Integer For i = 1 To RowsNum DBGrid1.Row = i - 1 For j = 1 To 11 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) DBGrid1.Col = j - 1 prnTable(i, j) = DBGrid1.Text Next j Next i End If End Sub Private Sub Form_Load() 给组合框添加列表项 Dim i As Integer For i = 1 To RegionNumber comRegion.AddItem i Next strAppName = App.Path & Main & Year(Now) & Month(Now) & .mdb Data1.DatabaseName = strAppName strSQL = select 编号 ,发票号 ,户名 ,地址 ,本月读数 ,上月读数 ,实用水量 ,水费 , _ & 污水处理费 ,合计金额 ,金额大写 from 主库文件 Data1.RecordSource = strSQL Data1.Refresh End Sub Private Sub txtEndInv_LostFocus() If (Not IsNumeric(txtBeginInv) Or (Not IsNumeric(txtEndInv) Then MsgBox 输入错误 !, vbExclamation + vbOKOnly, 汇总标签 txtBeginInv.SetFocus SendKeys Home+End Exit Sub End If If intRegionNum = 0 Then MsgBox 必须选择分区号! , vbExclamation + vbOKOnly, 打印发票 comRegion.SetFocus Exit Sub End If Dim lngBegin As Long, lngEnd As Long lngBegin = Val(txtBeginInv): lngEnd = Val(txtEndInv) strSQL = select 编号 ,发票号 ,户名 ,地址 ,本月读数 ,上月读数 ,实用水量 ,水费 , _ & 污水处理费 ,合计金额 ,金额大写 from 主库文件 _ & where 分区 = & intRegionNum & and 发票号 = & lngBegin & and 发票号 = & lngBegin & and 发票号 = & lngEnd Data.RecordSource = strSQL Data.Refresh End Sub UnwriteUser(未抄表用户窗体 ) Option Explicit Private Sub cmdExit_Click() Unload Me 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) End Sub Private Sub cmdPrint_Click() Me.PrintForm Printer.EndDoc End Sub Private Sub comRegion_Click() 根据分区号选择分区 Dim RegionNumber As Integer, strSQL As String RegionNumber = comRegion.ListIndex + 1 strSQL = select 编号 ,户名 ,地址 ,电话 ,户型 from 用户档案 where 终止读数 =0 _ & and 分区 = & RegionNumber Data1.RecordSource = strSQL Data1.Refresh End Sub Private Sub Data1_Reposition() Data1.Caption = 记录 : & Data1.Recordset.AbsolutePosition + 1 End Sub Private Sub Form_Load() 给组合框添加列表项 Dim i As Integer For i = 1 To RegionNumber comRegion.AddItem i Next Dim strSQL As String Data1.DatabaseName = App.Path & 用户档案 .mdb strSQL = select 编号 ,户名 ,地址 ,电话 ,户型 from 用户档案 where 终止读数 =0 Data1.RecordSource = strSQL Data1.Refresh End Sub FrmUserDistributeForm(用户分布表窗体 ) Option Explicit Dim UserCount(RegionNumber, 6) As Long Private Sub cmdExit_Click() Unload Me End Sub Private Sub cmdPrint_Click() 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) Me.PrintForm Printer.EndDoc End Sub Private Sub Form_Load() 给数组赋零值 Dim i As Integer, j As Integer For i = 1 To RegionNumber For j = 1 To 6 UserCount(i, j) = 0 Next j Next i 读数据库并给数值赋值 Dim strStyle As String, intStyle As Integer Dim db As Database, rs As Recordset Set db = Workspaces(0).OpenDatabase(App.Path & 用户档案 .mdb, False, True) Set rs = db.OpenRecordset(用户档案 ) rs.MoveFirst Do While Not rs.EOF i = rs.Fields(分区 ) strStyle = rs.Fields(户型 ) intStyle = Val(Right(strStyle, 2) j = intStyle UserCount(i, j) = UserCount(i, j) + 1 rs.MoveNext Loop rs.Close db.Close Set rs = Nothing Set db = Nothing For i = 1 To RegionNumber For j = 1 To 5 UserCount(i, 6) = UserCount(i, 6) + UserCount(i, j) Next j Next i MSFlexGrid1.Rows = RegionNumber + 1 网格行数 定义网 格各列列宽 MSFlexGrid1.ColWidth(0) = 800: MSFlexGrid1.ColWidth(1) = 1000 MSFlexGrid1.ColWidth(2) = 1000: MSFlexGrid1.ColWidth(3) = 1000 MSFlexGrid1.ColWidth(4) = 1000: MSFlexGrid1.ColWidth(5) = 1000 MSFlexGrid1.ColWidth(6) = 1000 在网格第一行上定义标 题 MSFlexGrid1.Row = 0 MSFlexGrid1.Col = 0: MSFlexGrid1.Text = 分区号 MSFlexGrid1.Col = 1: MSFlexGrid1.Text = 居民总数 知识水坝(豆丁网 pologoogle)倾心为您整理(双击删除) MSFlexGrid1.Col = 2: MSFlexGrid1.Text = 事业总数 MSFlexGrid1.Col = 3: MSFlexGrid1.Text = 工业总数 MSFlexGrid1.Col = 4: MSFlexGrid1.Text = 商业总数 MSFlexGrid1.Col = 5: MSFlexGrid1.Text = 特种总数 MSFlexGrid1.Col = 6: MSFlexGrid1.Text = 总户数 For i = 1 To RegionNumber MSFlexGrid1.Row = i: MSFlexGrid1.Col = 0 MSFlexGrid1.RowHeight(i) = 250 MSFlexGrid1.Text = i For j = 1 To 6 MSFlexGrid1.Col = j MSFlexGrid1.Text = UserCount(i, j) Next j Next i End Sub FrmHistoryQuery(历史查询 ) Option Explicit Dim strAppName As String, strSQL As String Dim strPageName() As String Dim intPageDate() As Date Dim fso As New FileSystemObject Private Sub cmdExit_Click() Unload Me End Sub Private Sub cmdPrint_Click() Me.PrintForm Printer.EndDoc End Sub Private Sub comStyle_Click() strSQL = select * from 主库文件 o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅行的策划与感悟
- 2025年度电子产品全球配送与售后维护服务合同4篇
- 2025年度智能环保型厂房出售买卖协议书4篇
- 2025年度文化产业厂房购置及运营合作协议4篇
- 个人借贷抵押协议标准打印版2024年适用版B版
- 2025年度高科技厂房租赁合同(含知识产权保护)标准样本4篇
- 个人专项资金贷款合同范本:2024年版B版
- 2024科技创新项目引荐服务合作合同一
- 2025年度供应链金融合同履行的信用增级担保服务3篇
- 2024版特定担保书增补协议上诉文件版B版
- 课题申报书:GenAI赋能新质人才培养的生成式学习设计研究
- 外配处方章管理制度
- 2025年四川长宁县城投公司招聘笔试参考题库含答案解析
- 骆驼祥子-(一)-剧本
- 《工程勘察设计收费标准》(2002年修订本)
- 全国医院数量统计
- 【MOOC】PLC技术及应用(三菱FX系列)-职教MOOC建设委员会 中国大学慕课MOOC答案
- 2023七年级英语下册 Unit 3 How do you get to school Section A 第1课时(1a-2e)教案 (新版)人教新目标版
- 泌尿科主任述职报告
- 2024年医美行业社媒平台人群趋势洞察报告-医美行业观察星秀传媒
- 第六次全国幽门螺杆菌感染处理共识报告-
评论
0/150
提交评论