《网上服装销售系统课程设计.docx》由会员分享,可在线阅读,更多相关《网上服装销售系统课程设计.docx(44页珍藏版)》请在三一办公上搜索。
1、南昌航空大学学士学位论文目录前言1第一章 绪论1.1系统的开发背景21.2目前发展现状21.3本系统的特点21.4数据库的选择3第二章 需求分析2.1输入数据分析42.2输出数据分析52.3 系统的数据流图6第三章 概要设计3.1系统设计原则83.2系统功能模块图(部分)83.3系统功能模块的分析9第四章 数据结构设计4.1 数据库需求分析(部分)114.2 数据总体模型分析124.3 关系数据模型图134.4 主表的结构设计14第五章 系统总体设计5.1 服装进销存系统数据流图215.2 系统部分功能实现介绍215.2.1 主界面设计215.2.2 进货查询225.2.3 数据库备份与恢复2
2、75.2.4 打印报表305.2.5 帮助文件355.2.6 辅助工具37第六章 软件调试39总结41参考文献42致谢43前言管理工作的成败,取决于能否作出有效的决策,而决策的正确与否则在很大程度上取决于信息的质量。随着人类进入信息时代,信息管理的水平越来越成为衡量国家综合实力的重要标志。随着经济的高速发展,企业信息化工作也在如火如荼的进行。进销存管理是贸易型企业经营管理中的核心环节,也是该企业能否取得效益的关键。如果能够做到合理进货,及时销售,使库存量保持最小,那么该企业就能获得最大的经济效益。所以,采购、销售和库存必须有机的结合起来,利用计算机技术和网络技术,加强各个部门之间的沟通。进销存
3、管理系统属于管理信息的系统,也就是常说的MIS(Management Information System)。在强调科学的管理、强调迅速掌握信息的现代社会中,它的使用已经越来越普及了。MIS是一门新兴的学科,因为它的应用面非常广泛,跨越多个领域,比如管理科学、系统科学、运筹学、统计学以及计算机科学。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。在积极建立现代商业管理机制的今天, 对于商品销售部门而言,面对大量的信息,仅仅依靠原始的手工记录和管理或简单的汇总统计,是无法有效的将其中的重要部分提取出来并且做出相应的判断和处理的。而公司管理者的决策只能依据报表数据,浪费了
4、大量人力,物力却无法做到实时监控,难以保证数据的准确性和及时性,先进的管理思想在商业中实现就成为一个可望而不可及的目标。企业急需一套既有先进管理思想又适合国内中小企业使用的进销存信息管理系统,作为实现目标和提高现有效率的一种重要手段。进销存管理系统作为服装企业及其重要的组成部分,对于公司的决策者和管理者来说都具有重要的意义。随着科学技术的不断提高,计算机科学技术的日渐成熟,其强大的功能已为人们所深刻认识,正发挥着不可替代的作用.第一章 绪论1.1系统的开发背景服装行业中小型批发、零售企业以及连锁店往往存在一些共同的特点和问题,如服装分类不明确、库存信息混乱、信息上报更新不及时、决策欠依据、经营
5、不规范等,而这些问题往往是一个企业成功管理的关键。因此,在总结了一些对服装销售行业的理解、借鉴了一些优秀的管理经验的基础上,设计了服装进销存管理系统。1.2目前发展现状随着现代经济持续快速的发展,特别是我国加入WTO以后,人民生活水平的不断提高,成衣市场的竞争也日趋激烈。服装批发商和零售商为了节约成本、满足扩大企业规模的需求,更加注意了服务网络的建设。通过连锁经营,在全面开放的市场上与其他同行的竞争中赢得筹码。服装连锁企业的特点是各经营网点分布在同一个城市的不同区域或不同的城市,为了充分利用原有的信息和资源的基础上处理好许多中间环节,减少员工的工作量;保证企业进销存的循环链状良好;提高管理效率
6、的目的,结合现代网络技术、计算机技术和多媒体技术的服装企业进销存管理系统是目前的主流设计思想,而一个这样的系统基本都具备以下特征:1以极简单的进、销、存流程囊括所有服装进销存业务活动,以业务点的形式囊括所有仓库、商店甚至车间。2用尽可能少数的界面,以极灵活的多条件组合来提供无穷无尽的角度分析数据。3打印全面灵活:所有单据的打印格式,根据操作表格的列宽调整配合打印设置选项,即可适应所有规格的纸张。4条码辅助管理:最大程度地帮助减少人为窜号误差。5自定义的横排尺码表:完全的自定义多尺寸系列,符合服装业数据特点。6无数种查询报表均能立即打印,当然也可导入到电子表格中。7数据维护简单安全:备份、恢复、
7、整理均一步操作,快速简便。1.3本系统的特点本系统是适合中小型服装批发、零售企业使用的小型管理系统。它除了拥有一般进销存系统的基本信息管理、进货管理、销售管理等功能以外,同时还具有以下特点:1系统小巧,安装方便,占用内存小。2典型Windows界面,无需培训,任何人均能很快上手。3查询方便,统计精确,实现实时打印,随心所欲。1.4数据库的选择目前市面上比较流行的数据库有很多种,比如中小型数据库Access数据库、 Visual foxpro数据库、 SQL Server 2000数据库、 Oracle数据库、 DB2数据库、 Sybase数据库。Access数据库是是微软公司开发的一套桌面数据
8、库,如果采用Visual Basic6.0来开发数据库软件,采用Access数据库是非常方便的。因为VB访问Access数据库是非常便利的。但是它的缺点是无法支持较大的数据量,而将要开发的软件是需要进行大量的数据存储和操作的。因此,选用目前比较流行的SQL Server 2000数据库比较合适。它是面向企业用户的大型数据库系统,并提供了完整的数据高级特性。且具有良好的使用界面及很快的速度。第二章 需求分析2.1输入数据分析该系统的输入数据可以分为两种类型,一种是用户建立业务所需的基本资料信息,例如用户资料、商品属性资料、供应商基本资料、客户基本资料等。这一部分主要由具有管理员权限的用户进行输入
9、。在设计时,考虑到这部分信息相对较少,所以直接将表调出,连接到界面上的Datagrid控件上。这样,表里所有信息可以一目了然的看到,并且用户可以直接对这些信息进行添加、删除、修改等操作,无须对该部分内容进行关键字查询。下面引用该部分表如图2.1所示:图2.1商品资料录入界面而另一种类型是进货、销售、入库和出库的单据的输入。该部分录入的数据是系统的主要操作对象。这些数据记录一个企业所有业务过程。无论是多小规模的企业,这部分数据必定非常多。将这些数据向上面提到的那样直接调到界面上显示,显然很难满足现实需求。所以在设计时,先设计了单据录入界面,然后单独安排查询和统计的界面。单据录入安排成和表一一对应
10、的形式。下图2.2所示,是销售单的输入界面。图2.2销售单录入界面2.2输出数据分析做为该系统的输出信息,按功能大致可以分为三种:查询结果、打印报表以及统计结果。查询结果是将进货表、销售表和库存表里头的所有信息都显示在网格控件上。报表打印则不是,考虑到数据库信息有一些细节信息对公司打印报表的目的制定下一阶段业务的凭据,是可有可无的。因此,在报表设计中只是安排了一些必要信息的字段,这样不仅能使报表所传达的信息更加明确,而且让报表看起来更加美观。数据统计是对每一款商品的数量、总价等信息进行汇总,让用户可以在当日、当月和该年对数据进行统计。如图2.3所示的是以进货报表为例说明系统输出数据的其中一种方
11、式。图2.3 进货信息报表设计界面2.3 系统的数据流图如图2.4所示的是该系统的数据流图。由该图可知,该系统是以商品流为基础,单据流为主线实现数据传递的。除用户登录信息和基本信息输入以外,其他所有的业务都是以单据为凭证。其中业务过程中产生的单据有进货单据、销售单据、提货单据三种。它们每天由经办的业务员输入到数据库中去,从而堆叠成各表单的记录。然后这些记录可供任何权限的业务员进行查询、统计、打印等操作。入库单据是在每天营业完毕后,由清点商品的业务员统计各个单据的数据,按照如下公式(1):入库量=进货量+出库量-销售量 (1)(当日的同一款同一颜色的商品,若某一项当日没有单据,就计为0)填写入库
12、单。该入库单信息将存储到库存表(kucun)里。图2.4 数据流图第三章 概要设计3.1系统设计原则该系统在实施后,应能集中处理服装的进、销、存业务和基本资料管理。本软件通过对服装生产经销商日常业务的研究,分析得出本系统具有以下功能:由于操作人员的计算机知识普遍不高,因此要求系统具有友好的人机界面。方便的数据查询功能,支持多条件查询。数据备份和恢复功能;应付由于用户操作不当,导致系统数据库破坏的情况。方便实用的计算器和记事本,便于用户处理数据和记录日常业务。限制权限,设置修改,删除数据的权利范围;数据操作方便简单,稳定性强。出货统计和库存查询功能,保证数据可靠性和准确性。 强大的报表打印功能,
13、为公司制定下一阶段的计划提供依据;数据导出功能,方便将数据转为HTML格式,上传网络。3.2系统功能模块图(部分)经过分析,得到系统的功能模块图如图3.1图3.1 系统功能模块图3.3系统功能模块的分析服装进销存管理系统包括系统维护、基本信息录入、进货信息管理、销售信息管理,库存信息管理、报表打印、辅助工具和帮助文件等八个基本功能模块。以下是对各个模块的功能分析:1.系统维护系统维护在整个软件中起到“护航”的作用,它维护系统的正常运行,管理用户的使用权限,保护信息的安全性。所以在系统维护模块中,应该至少拥有用户登录管理、用户权限管理、数据库备份和数据库恢复等功能。2.基本信息录入该模块设置是为
14、数据库的各个基本信息表单进行录入。该部分主要是由管理员操作的。它包括商品资料的录入、客户资料的录入、业务员资料录入、供应商资料的录入。这些资料被直接调用到界面上,用户可以直接在表格上添加、修改、删除。3. 进货信息管理进货信息管理模块是用户对公司业务中的进货部分进行管理的。该部分主要是由采购部负责。因此在功能上至少设置有进货单录入、进货信息统计和进货信息查询。其中进货信息统计是按照时间进行统计的。其中可选时间包括:当日、当月、该年。而进货信息查询是按照业务员,仓库,供应商和进货时间等方式查询,并且可以打印查询结果。 4.销售信息管理销售信息管理是用户对商品的销售情况进行监控的一个有效手段。该部
15、分主要由营业部进行操作,同时呈报公司上层领导查阅。因此销售信息查询至少应该包括销售单录入、销售信息统计和销售信息查询。其中销售信息统计部分也是按照时间统计的,其可选时间有三种:按当日统计、按当月统计、按该年统计。而销售信息查询是按照业务员、仓库、客户和销售时间等方式查询,并且可以即时打印查询结果。5.库存信息管理库存信息管理,顾名思义就是用户对仓库存货的管理。该部分主要由仓库管理员负责数据操作。仓管员通过对对库存信息进行查询,得到商品的库存量,然后通知公司采购部门哪些商品已经库存不足了;哪些商品积压太多,这样有利于及时为采购部门下一阶段采购计划提供依据。因此,仓库管理模块应该具有以下功能:入库
16、单的登记、出库单的登记、库存统计、出库查询和商品盘点。其中库存统计的功能是按照时间进行查询的。可取时间为当日统计、当月统计、该年统计。出库查询的设置是考虑到仓库到门面店之间的关系。假如商品已经提出仓库,摆在门面店却还未销售出去的情况下,是必须单独列出来查询的。然后在统计时可以归到未销售的商品中(即库存商品中去)。而商品盘点则按照商品、仓库和提货时间等方式查询,并且可以打印查询结果。6.报表打印在这样一个以数据作为业务凭据的企业里,报表打印无疑是必不可少的功能。它是为企业对相关数据进行存档、打印成纸张供开会讨论或者发布网络上之便利而设计的。因此有别于前面提到的查询报表打印形式,该模块主要针对进货
17、信息,销售信息,库存信息的月、季、年进行统计而得到月报表、季报表和年报表的打印。同时用户可以将这些报表导出成其他格式,例如:HTML格式、WORD 格式等。7.帮助文件制作一个操作简单,使用方便的帮助文件可以让用户更快、更全面的了解系统的使用方法。因此,本系统采用了目前制作帮助文件的主流产品QUICKCHM软件来制作系统的帮助文件,帮助文件里介绍了整个系统的使用步骤和注意细节,让用户在操作本系统遇到困难时轻松得到解决。8.附加功能:该系统还提供计算器和记事本等功能,便于繁杂数据的核算和日常业务的记录。第四章 数据结构设计4.1数据库需求分析(部分)针对服装行业进销存管理系统,分别对进货部门、销
18、售部门、和仓库管理部门的任务和功能进行分析,总结如下的需求信息:1商品按类别管理。2同一个大的类别还可以细分,例如:大类别为衣服,还可以分为大衣、内衣、衬衣、TSHITE等。3需要记录供应商和客户的详细信息。4在涉及商品数量的地方,要给出相应的单位。5在进货信息中要包括商品供应商等信息。6商品销售信息单中要登记商品销售数量、单价、折扣比例等信息。7每一条进货、销售、库存等信息都对应一张单据,因此这三张表的字段必须明细。8当进行了进货和销售操作后能即使更新相应的库存数量。经过上述分析,考虑到将来功能上的扩展,设计如下数据项: 供应商资料:供应商编号、供应商名称、地址、邮编、账号、开户银行、联系人
19、、备注信息等。 客户资料:客户编号、客户名称、地址、邮编、账号、开户银行、联系人、备注等。 商品资料:商品编号、商品名称、颜色、类别、入库价格、分销价格、零售价格、生产厂家、更新日期等。 业务员资料:业务员编号、姓名、性别、联系电话、地址、身份证号码、备注信息等。 仓库资料:仓库编号、仓库名称、备注信息等。 用户信息:用户名、密码、用户权限等。 进货信息:进货日期、进货单号、业务员、供应商编号、商品编号、商品颜色、数量、单价、折扣比例、总金额、是否即时付款、是否记账、预付比例、备注信息等。 销售信息:销售日期、销售单号、业务员、客户编号、商品编号、商品颜色、数量、单价、折扣比例、总金额、备注信
20、息等。 出货单信息:提货日期、提货单号、业务员、客户编号、商品编号、商品颜色、数量、单价、折扣比例、总金额、是否即时付款、是否记账、预付比例、备注信息等。 库存信息:更新日期、入库单号、仓库编号、商品编号、商品颜色、数量、单价、总金额、备注信息等。4.2数据总体模型分析根据以上数据项的分析,结合各个数据项的关系,得到数据总体关系模型如图4.1所示:图4.1服装进销存系统总体关系E-R模型首先,进行信息实体分析,绘制实体联系图(E-R模型图)。经过仔细分析,可以将进销存系统分成三个实体,分别是进货明细、销售明细、库存量,分别组成以下关系:dm-gf (供应商编号、供应商名称、地址、邮编、账号、开
21、户银行、联系人、备注)dm-kh(客户编号、客户名称、地址、邮编、账号、开户银行、联系人、备注)dm-wz( 商品编号、商品名称、颜色、类别、入库价格、分销价格、零售价格、生产厂家、更新日期)Inh(进货日期、进货单号、业务员、供应商编号、商品编号、商品颜色、数量、单价、折扣比例、总金额、是否即时付款、是否记账、预付比例、备注信息)Outh(销售日期、销售单号、业务员、客户编号、商品编号、商品颜色、数量、单价、折扣比例、总金额、备注信息 )Kucun(更新日期、入库编号、仓库编号、商品编号、商品颜色、数量、单价、总金额、备注信息等)Xsdh(提货日期、提货单号、业务员、客户编号、商品编号、商品
22、颜色、数量、单价、折扣比例、总金额、是否即时付款、是否记账、预付比例、备注信息)(带有下划线的是该表的主键和外键)4.3 关系数据模型图根据关系模型,在SQL数据库中建立数据表和数据表之间的关系如图4.2 图4.5。图4.2 进货信息表实体E-R图图4.3 销售信息表实体E-R图图4.4 出库信息表实体E-R图图4.5 库存信息表实体E-R图4.4主表的结构设计对于进销存管理系统而言,最主要的表无疑是进货信息表、销售信息表、出库信息表和库存信息表。这几张表是系统最主要访问和操作对象。除此之外,还有基本信息录入所需要的各种表单。以下表4.1表4.10是该系统主要使用到的几张表。(1)商品信息表d
23、m_wz,保存商品信息,结构如表4.1所示。表4.1 商品信息表的结构列名数据类型长度允许空说明商品编号char10Not null主键商品名称char40Not null颜色char10Null类别char30Not null入库价格numeric9Not null分销价格numeric9Not null零售价格numeric9Not null生产厂家char20Not null更新日期datetime8Not null备注char255Null(2)供应商信息表dm_gf,保存供应商的信息,结构如表4.2所示。表4.2 供应商信息表的结构列名数据类型长度允许空说明供应商编号char8Not
24、 null主键供应商名称char40Not null地址char40Null邮编char6Null电话char40Null电子邮件char50Null帐号char20Not null开户银行char30Not null联系人char8Not null备注char255Null(3)客户信息表dm_kh,保存客户的信息,结构如表4.3所示。表4.3 客户信息表的结构列名数据类型长度允许空说明客户编号char8Not null主键客户名称char40Not null地址char40Null邮编char6Null电话char40Null联系人char40Not null电子邮件char50Null帐
25、号char30Not null银行char30Not null备注char255Null(4)业务员信息表dm_ywy,保存业务员的信息,结构如表4.4所示。表4.4 业务员信息表的结构列名数据类型长度允许空说明业务员编号char6Not null主键姓名char20Not null性别char4Not null电话char40Null地址char40Null身份证号码char18Not null备注char255Null(5)用户信息表,保存系统用户的信息,结构如表4.5所示。表4.5 用户信息表的结构列名数据类型长度允许空说明用户名char10Not null主键密码char10Not n
26、ull权限tinyint1Not null(6)仓库信息表dm_ck,保存仓库的信息,结构如表4.6所示。表4.6 仓库信息表的结构列名数据类型长度允许空说明仓库编号char6Not null主键仓库名称char40Not null备注char255Null(7)进货单信息表inh,保存进货的信息,结构如表4.7所示。表4.7 进货单信息表的结构列名数据类型长度允许空说明进货日期Datetime8Not null业务员char20Not null进货单号char8Not null主键供应商编号char8Not null外键仓库编号char6Not null外键商品编号numeric9Not n
27、ull外键颜色char10Null数量numeric9Not null单价numeric9Not null折扣numeric5Not null总金额numeric9Not null即时付款Char2Null是否记帐Char2Null备注char100Null(8)销售单信息表outh,保存销售的信息,结构如表4.8所示。表4.8 销售单信息表的结构列名数据类型长度允许空说明销售日期Datetime8Not null业务员char20Not null销售单号char8Not null主键客户编号char8Not null外键仓库编号char6Not null外键商品编号numeric9Not n
28、ull外键颜色char10Null数量numeric9Not null单价numeric9Not null折扣numeric5Not null总金额numeric9Not null即时付款Char2Null是否记帐Char2Null备注char100Null(9)库存单信息表kucun,保存库存的信息,结构如表4.9所示。表4.9 库存信息表的结构列名数据类型长度允许空说明更新日期Datetime8Not null业务员Char20Not null入库单号Char8Not null主键供应商编号Char8Not null外键仓库编号Char6Not null外键商品编号Numeric9Not
29、null外键颜色Char10Null数量Numeric9Not null单价Numeric9Not null折扣Numeric5Not null总金额Numeric9Not null备注Char100Null(10)出库单信息表xsdh,保存出库单的信息,结构如表4.10所示。表4.10 出库单信息表的结构列名数据类型长度允许空说明提货日期Datetime8Not null业务员Char20Not null提货单号Char8Not null主键客户编号Char8Not null外键仓库编号Char10Not null外键商品编号Char30Not null外键颜色Char10Null数量Num
30、eric9Not null单价Numeric9Not null折扣Numeric5Not null总金额Numeric9Not null备注Char100Null4.5各个表之间的视图联系本系统制作的三张报表都是涉及到多表的连接,因此在制作报表前先将多表连接,制作成视图,以方便在数据环境设计器中调用。1库存视图库存视图所使用的SQL语句:SELECT dbo.dm_ck.名称 AS ck_mc, dbo.dm_wz.名称 AS wz_mc, dbo.kucun.日期, dbo.kucun.入库单编号, dbo.kucun.颜色, dbo.kucun.数量, dbo.kucun.总金额FROM
31、dbo.kucun INNER JOIN dbo.dm_ck ON dbo.kucun.仓库名称 = dbo.dm_ck.名称 INNER JOIN dbo.dm_wz ON dbo.kucun.商品名称 = dbo.dm_wz.名称 生成的视图如图4.6所示:图4.6库存视图2进货视图进货视图说使用的SQL语句:SELECT dbo.dm_gf.名称, dbo.dm_ck.名称 AS ck_mc, dbo.inh.进货日期, dbo.inh.业务员, dbo.inh.进货单编号, dbo.inh.颜色, dbo.inh.数量, dbo.inh.单价, dbo.dm_wz.名称 AS wz_m
32、cFROM dbo.inh INNER JOIN dbo.dm_ck ON dbo.inh.仓库名称 = dbo.dm_ck.名称 INNER JOIN dbo.dm_gf ON dbo.inh.供应商名称 = dbo.dm_gf.名称 INNER JOINdbo.dm_wz ON dbo.inh.商品名称 = dbo.dm_wz.名称生成的视图如图4.7所示:图4.7进货视图3销售视图销售视图所使用的SQL语句:SELECT dbo.dm_wz.名称, dbo.outh.销售日期, dbo.outh.业务员, dbo.outh.销售单编号, dbo.outh.客户名称, dbo.outh.仓
33、库名称, dbo.outh.商品名称, dbo.outh.颜色, dbo.outh.数量, dbo.outh.单价, dbo.outh.折扣, dbo.outh.总金额, dbo.outh.是否记帐, dbo.outh.是否即时付款, dbo.outh.预付比例, dbo.outh.备注FROM dbo.dm_wz INNER JOIN dbo.outh ON dbo.dm_wz.名称 = dbo.outh.商品名称生成的视图如图4.8所示:图4.8 销售视图第五章 系统总体设计5.1服装进销存系统数据流图经过上述分析,绘制出系统业务流程图,如图5.1图5.1服装进销存系统业务流程图5.2系统
34、部分功能实现介绍5.2.1主界面设计主界面是系统的主要操作平台,因此,系统的所有功能基本上都能从这个界面上点开。由于在设计时考虑到界面的美观与风格的统一,将其他界面都设置成在该平台下打开。具体操作非常简单,只需要在除主界面以外的其他所有form的属性下设置MDIChild为true即可。主界面的设计是否友好关系到该系统的第一印象和实用价值的最初体现。因此本系统采用了完全Windows风格的界面设计方法,即在主菜单下设有便捷的工具条,把用户经常操作的菜单项在工具条上体现,这样用户就可以快捷的找到所要操作的按钮。同时还在界面下方设置了状态栏,状态栏显示了系统时间和当前状态。如图5.2 所示为本系统
35、的主界面。图5.2 服装进销存主界面5.2.2进货信息查询本系统设置了四个查询项目,分别是进货信息查询、销售信息查询、库存信息查询和出库信息查询。这些查询的设计风格和代码设计比较相似,所以就以进货信息查询的按业务员查询方法为例来说明本系统查询模块的设计。进货信息查询的程序流程图如图5.3所示。进货信息查询主要连接的表单是inh表(进货信息表)。由负责进货的业务员打开进货单输入界面,进行输入。然后这些信息可供业务员或公司管理人员对全程的进货情况进行查询,同时也可以选择该公司某一个时间段的进货信息进行查询。只须选择了“按时间”查询的复选框后,在年、月、日的选项框中选择用户所要查询的起始时间和终止时
36、间,点击确定按钮后,即可在另一个窗体下得到查询结果。系统在设计时设定可供选择的时间都是进货表单上记载的时间。也就是说,用户决不可能查询到没有进货的年份或还未发生的年份的进货记录。同时,本系统采用了三种查询索引,即:按供应商查询、按物资、仓库查询和按(经办的)业务员姓名查询。业务员点开如图5.4所示的进货菜单界面。图5.3 进货信息查询程序流程图图5.4 进货菜单界面选择“按业务员查询”选项,查业务员名称为“罗安”,会得到如图5.5所示的界面;图5.5 进货信息查询设置界面查询业务员名为罗安的记录所使用的SQL 语句是:txtsql = select distinct 业务员名称 from in
37、h inner join dm_ywy on inh.业务员编号=dm_ywy.业务员编号Set mrc = ExecuteSQL(txtsql, MsgText)同时也可以在查询业务员名为罗安的记录总设置中限制查询的时间段,所使用的查询语句是:sQSql = select inh.进货日期,inh.业务员,inh.进货单编号,dm_gf.编号,dm_gf.名称,dm_ck.编号,dm_ck.名称 ,dm_wz.编号,dm_wz.名称,inh.颜色,inh.数量,inh.单价,inh.折扣,inh.总金额,inh.是否即时付款,inh.是否记帐,inh.预付比例,inh.备注 from inh
38、 inner join dm_gf on inh.供应商名称= dm_gf.名称 inner join dm_ck on inh.仓库名称 = dm_ck.名称 inner join dm_wz on inh.商品名称 = dm_wz.名称 where inh.业务员 = & Trim(Combo1(0) & If chkDate.Value = vbChecked Then dBeginDate = Format(CDate(cboYear(0) & - & cboMonth(0) & - & cboDay(0), yyyy-mm-dd)dEndDate = Format(CDate(cbo
39、Year(1) & - & cboMonth(1) & - & cboDay(1), yyyy-mm-dd)sQSql = sQSql & and inh.进货日期 = & dBeginDate & sQSql = sQSql & and inh.进货日期 = & dEndDate & End IfIf Trim(sQSql) = ThenMsgBox 请设置查询条件!, vbOKOnly + vbExclamation, 警告Exit SubElsefrmInquireYWY.txtsql = sQSqlMe.HidefrmInquireYWY.Show 0End If点击“确定”后,在另一
40、个界面将出现查询结果。查询结果采用一个叫“MSFlexGrid”的控件来显示。MSFlexGrid是一个功能非常强大的控件。虽然,在VB中可以做为表格使用的控件有很多种,例如:DataGrid、DBGrid、还有上述提到的MSFlexGrid 和更加高级的MSHFlexGrid。(简单地说,MSFlexGrid和MSHFlexGrid之间的区别,主要是后者支持ADO层次的显示。因为在该系统中并未使用ADO,所以只需选择使用 MSFlexGrid即可。)MSFlexGrid 与DataGrid、DBGrid相比,具有更齐全的功能。其中,较突出的表现是它不仅可以加载文本数据,还可以加载图片等多媒体
41、数据。文本和图片可以同时或者单独放在 MSFlexGrid 的任何一个单元格中。首先要在VB中加载Microsoft FlexGrid ,在常用工具条下点击右键,选择“部件”,然后钩选“Microsoft Flexgrid Control 6.0”,则在工具条上就会出现该控件。MSFlexGrid 控件不仅可以显示网格数据,也可以对其进行操作。它提供了高度灵活的网格排序、合并和格式设置功能。如果将它绑定到一个 Data 控件上,那么 MSFlexGrid 显示的将是只读的数据。 Row 和 Col 属性指定了当前的 MSFlexGrid 单元格。可以在代码中改变当前单元格,用户可以在运行时使用
42、鼠标或者箭头键改变它。Text 属性提供了当前单元格内容的信息。如果单元格中的文本过长,无法全部显示在单元格的一行中,而且 WordWrap 属性被设置为 True,那么文本将回绕到同一单元格的下一行。如果需要显示被回绕的文本,需要增加单元的列宽(ColWidth 属性)或行高(RowHeight 属性)。使用 Col 和 Row 属性可以分别确定 MSFlexGrid中列与行的个数。因此 ,使用MSFlexGrid通常还要对它的行列宽度进行设置。 但是,MSFlexGrid也有一个最大的缺憾就是它不能直接与数据库连接,只能对其进行编程处理。不过正因为这样,越是自定义的东西,开发出来的东西越灵
43、活,越符合用户需求。它与数据库的连接也非常简单,只需要几个连接语句即可:Dim cnn As ADODB.ConnectionSet cnn = New ADODB.ConnectionConnectString = Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=My_clothe;Data Source=e41 数据库连接语句,可在连 Cnn.Open ConnectString 接数据库时生成在设计表时,由于编程引用的方便,时常对表的字段名进行简写,或者使用不太容易理解的文字,甚至使用英文缩写,这样在调用该表显示时,就会出现许多麻烦。例如:导致该软件的可读性很差,除了编程人员,其他人很难看懂该表格,这样开发出来的软件根本就不能用。因此,通常的做法是将MSFlexGrid的第一行隐藏,然后自定义第一行内容,调用表时从第二行开始显示。隐藏的办法很简单,只需要设定某行的行高为0就可以了。运行查询结果如图5.6所示:图5.6 查询结果运行界面如果要想将该查询结果打印出来,只需按界面上的“打印按钮”即可了。打印结果如图5.7所示: