程序设计综合实训.docx

上传人:b****4 文档编号:3808442 上传时间:2023-05-06 格式:DOCX 页数:57 大小:923.94KB
下载 相关 举报
程序设计综合实训.docx_第1页
第1页 / 共57页
程序设计综合实训.docx_第2页
第2页 / 共57页
程序设计综合实训.docx_第3页
第3页 / 共57页
程序设计综合实训.docx_第4页
第4页 / 共57页
程序设计综合实训.docx_第5页
第5页 / 共57页
程序设计综合实训.docx_第6页
第6页 / 共57页
程序设计综合实训.docx_第7页
第7页 / 共57页
程序设计综合实训.docx_第8页
第8页 / 共57页
程序设计综合实训.docx_第9页
第9页 / 共57页
程序设计综合实训.docx_第10页
第10页 / 共57页
程序设计综合实训.docx_第11页
第11页 / 共57页
程序设计综合实训.docx_第12页
第12页 / 共57页
程序设计综合实训.docx_第13页
第13页 / 共57页
程序设计综合实训.docx_第14页
第14页 / 共57页
程序设计综合实训.docx_第15页
第15页 / 共57页
程序设计综合实训.docx_第16页
第16页 / 共57页
程序设计综合实训.docx_第17页
第17页 / 共57页
程序设计综合实训.docx_第18页
第18页 / 共57页
程序设计综合实训.docx_第19页
第19页 / 共57页
程序设计综合实训.docx_第20页
第20页 / 共57页
亲,该文档总共57页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

程序设计综合实训.docx

《程序设计综合实训.docx》由会员分享,可在线阅读,更多相关《程序设计综合实训.docx(57页珍藏版)》请在冰点文库上搜索。

程序设计综合实训.docx

程序设计综合实训

一、实训目的:

可视化的开发环境使设计者可直接通过图形化的交互式操作,设计并实现应用系统。

为了加深对VisualBasic程序设计语言的理解并提高使用这种开发工具来解决实际问题的能力,本课程设置了2周的课程设计。

通过课程设计,为学生提供了既动手又动脑,自学,查资料,并且能够独立实践的机会,同时也使我们通过该教学环节与手段,把所学的软件开发工具及相关知识加以融会贯通,使我们使用可视化开发工具的软件编程能力有一个较大的提高,使我们真正掌握面向对象程序设计的方法及面向对象的开发环境,锻炼了学生实际分析问题和解决问题的能力,提高学生适应实际、实践编程的能力,为今后从事实际工作打下坚实的基础。

二、功能描述:

1.系统名称

医药进销存管理系统

本系统结合医药行业的进销存制度,对药品、客户、供应商的基本信息和药品的进货订单、入库、销售订单、销售及库存盘点信息等进行管理。

2.系统所完成的功能

本系统可方便地按各种条件查询入库、销售的情况。

通过该系统可以追溯到发生过的任何一笔业务,由于有准确的结存依据,因此可以确定最合理的采购数量,还可对存量进行控制,减少积压,真正实现了企业的信息化管理。

三、概要设计:

1.需求分析

1.1.基本数据的管理

管理药品信息;管理供应商信息;管理客户信息;管理业务员信息;管理仓库。

1.2.进货管理

进货订单管理;入库管理。

1.3.销售管理

销售订单;销售管理

1.4.查询

分别按供应商、业务员、仓库查询进货情况;分别按客户、业务员、仓库查询销售情况。

2.系统功能结构

药品进销存系统基业Windows平台开发,使用MicrosoftVisualbasic6.0作为开发语言环境,以MicrosoftOfficeAccess作为数据库环境。

系统的主要功能包括基本数据、进货管理、销售管理、库存管理、查询五部分。

其中基本数据包括药品、供应商、客户、业务员、仓库等;进货管理则是在进货订单和入库单两方面;销售管理包括销售订单和销售单两个部分;库存管理是由库存调货和库存信息两部分组成;查询主要是对进货和销售以及进货进行直观的查询,其中销售查询还包括销售单查询和销售订单查询。

因此系统功能结构图见图1。

图1系统功能结构图

四、数据库设计:

在本系统中,需要保存大量的数据(包括药品信息、供应商信息、客户信息、业务员信息、仓库信息等)通过使用数据库技术,将这些数据保存到数据库中,可方便管理这些数据。

本系统包括9个实体,分别为:

药品、客户、供应商、业务员、仓库、进货订单、销售订单、进货单和销售单。

而它们又可以分为具体的内容。

如销售订单实体的E-R图见图2,入库单的实体的E-R图见图3。

图3销售订单实体E-R图

图4入库单实体E-R图

本系统以MicrosoftOfficeAccess作为数据库环境,一共创建了14张表,分别是

jxc_type(药品类别)表、jxc_CommName(药品信息)表、Jxc_cust(客户信息)表、jxc_Supp(客户信息)表、jxc_SMType(供应商信息)表、jxc_Sales(业务员信息)表、jxc_Store(仓库信息)表、jxc_orders(进货订单)表、jxc_SalersOrders(销售订单)表、jxc_IN(入库单)表、jxc_out(销售单)表、jxc_stock(库存)表、jxc_move(仓库调动信息)表、jxc_user(用户信息)表,分别写出每个所创表的表名、字段名、字段类型、长度等。

(1)xc_type(药品类别)表,用于保存药品的类别信息,该表包括5个字段,具体信息表见表1。

表1jxc_type具体信息表

字段标题

字段名称

字段类型

字段大小

大类编号

bigtype

文本

14

大类名称

bigname

文本

50

子类编号

type

文本

14

子类名称

name

文本

50

备注

memo

文本

255

(2)jxc_CommName(药品信息)表,用于保存销售药品的各项信息,该表包括11个字段,具体信息表见表2。

表2jxc_CommName具体信息表

字段标题

字段名称

字段类型

字段大小

编号

cn_id

文本

14

名称

cn_name

文本

50

卫准字

cn_code

文本

50

单位

cn_unit

文本

10

类别

cn_type

文本

14

进价

cn_inprice

数字

单精度型

分销售

cn_outprice

数字

单精度型

零售价

cn_outprice2

数字

单精度型

生产厂家

cn_factor

文本

50

登记单位

cn_date

日期/时间

短日期

备注

cn_memo

文本

255

(3)Jxc_cust(客户信息)表,用于保存客户的各项信息,该表包括14个字段,具体信息表见表3。

表3Jxc_cust具体信息表

字段标题

字段名称

字段类型

字段大小

客户编号

cus_id

文本

14

客户名称

cus_name

文本

50

地址

cus_address

文本

50

邮政编码

cus_post

文本

6

联系电话

cus_tele

文本

50

网址

cus_http

文本

50

联系人

cus_linker

文本

20

电子邮件

cus_email

文本

50

税号

cus_taxno

文本

40

银行账号

cus_bankno

文本

40

开户账号

cus_bank

文本

50

会员卡号

cus_memberID

文本

14

折扣比例

cus_discount

数字

单精度型

备注

cus_memo

文本

255

(4)jxc_Supp(供应商信息)表,用于保存供应商各项信息,该表包括12个字段,具体信息见表4。

表4jxc_Supp具体信息表

字段标题

字段名称

字段类型

字段大小

编号

sup_id

文本

14

名称

sup_name

文本

50

地址

sup_address

文本

50

邮政编码

sup_post

文本

6

电话

sup_tele

文本

50

网址

sup_http

文本

50

电子邮件

sup_email

文本

50

税号

sup_taxno

文本

50

银行账号

sup_bankno

文本

50

开户银行

sup_bank

文本

50

联系人

sup_linker

文本

255

备注

sup_memo

文本

255

(5)jxc_SMType(业务员类别)表,用于保存业务员分类,该表包括3个字段,具体信息如表5。

表5jxc_SMType具体信息表

字段标题

字段名称

字段类型

字段大小

类别编号

SMT_id

文本

14

类别名称

SMT_linker

文本

50

备注

SMT_memo

文本

255

(6)jxc_Sales(业务员信息)表,用于保存业务员的各项信息,该表包括8个字段,具体信息如表6。

表6jxc_Sales具体信息表

字段标题

字段名称

字段类型

字段大小

编号

sl_id

文本

14

姓名

sl_name

文本

50

业务员类别

sl_type

文本

20

电话

sl_tele

文本

50

地址

sl_address

文本

50

身份证号

sl_carid

文本

18

类别编号

sl_typeid

文本

14

备注

sl_memo

文本

255

(7)jxc_Store(仓库信息)表,用于保存公司的个仓库信息,该表包括3个字段,具体信息如表7。

表7jxc_Store具体信息表

字段标题

字段名称

字段类别

字段大小

编号

st_id

文本

14

仓库名称

st_name

文本

50

备注

st_memo

文本

255

(8)jxc_orders(进货订单)表,用于保存进货订单信息,该表包括11个字段,具体信息如表8。

表8jxc_orders具体信息表

字段标题

字段名称

字段类别

字段大小

订单日期

jxc_date

日期/时间

短日期

业务员

jxc_salers

文本

14

订单号

jxc_id

文本

14

供应商编号

sup_id

文本

14

药品编号

com_id

文本

14

有效期

jxc_enddate

日期/时间

短日期

数量

jxc_amount

数字

单精度型

单价

jxc_price

数字

单精度型

折扣

jxc_discount

数字

单精度型

金额

jxc_total

数字

单精度型

备注

jxc_memo

文本

255

(9)jxc_SalersOrders(销售订单)表,用于保存销售订单信息,该表包括11个字段,具体信息如表9。

表9jxc_SalersOrders具体信息表

字段标题

字段名称

字段类型

字段大小

订货日期

so_date

日期/时间

短日期

业务员

so_Salers

文本

14

订单号

so_id

文本

14

客户编号

cus_id

文本

14

药品编号

cn_id

文本

14

有效期

cn_enddate

日期/时间

短日期

数量

so_amount

数字

单精度型

单价

so_price

数字

单精度型

折扣

so_discount

数字

单精度型

金额

so_total

数字

单精度型

备注

so_memo

文本

255

(10)jxc_IN(入库单)表,用于保存药品采购入库信息,该表包括15个字段,具体信息如表10。

表10jxc_in具体信息表

字段标题

字段名称

字段类型

字段大小

订货日期

in_date

日期/时间

短日期

业务员

in_saler

文本

14

入库单号

in_id

文本

14

供应商编号

sup_id

文本

14

仓库编号

st_id

文本

14

药品编号

com_id

文本

14

有效期

com_enddate

日期/时间

短日期

数量

in_amount

数字

单精度型

单价

in_price

数字

单精度型

折扣

in_diiscount

数字

单精度型

金额

in_total

数字

单精度型

支付方式

in_cash

文本

20

是否记账

in_arr

文本

20

预付比例

in_rate

数字

单精度型

备注

in_memo

文本

255

(11)jxc_out(销售单)表,用于保存药品销售出库信息,该表包括15个字段,具体信息如表11。

表11jxc_out具体信息表

字段标题

字段名称

字段类别

字段大小

销售日期

out_date

日期/时间

短日期

业务员

out_saler

文本

14

销售单号

out_id

文本

14

客户编号

cus_id

文本

14

仓库编号

st_id

文本

14

药品编号

cn_id

文本

14

有效期

cn_enddate

日期/时间

短日期

数量

out_amount

数字

单精度型

单价

out_price

数字

单精度型

折扣

out_discount

数字

单精度型

金额

out_total

数字

单精度型

支付方式

out_cash

文本

10

是否记账

out_arr

文本

2

预付比例

out_rate

数字

单精度型

备注

out_memo

文本

255

(12)jxc_stock(库存)表,用于保存药品的库存信息,该表包括7个字段,具体信息如表12。

表12jxc_stock具体信息表

字段标题

字段名称

字段类型

字段大小

更新日期

sk_date

日期/时间

短日期

编号

sk_id

文本

14

仓库编号

st_id

文本

14

药品编号

cn_id

文本

14

有效期

cn_enddate

日期/时间

短日期

数量

sk_amount

数字

单精度型

金额

sk_total

数字

单精度型

(13)jxc_move(仓库调货信息)表,用于保存在不同仓库之间调货的信息,该表包括10个字段,具体信息如表13。

表13jxc_move具体信息表

字段标题

字段名称

字段类型

字段大小

编号

mv_id

文本

1

调仓日期

mv_date

日期/时间

短日期

业务员

mv_saler

文本

14

调出仓库编号

st_id_o

文本

14

调入仓库编号

st_id_i

文本

14

药品编号

cn_id

文本

14

有效期

cn_enddate

日期/时间

短日期

数量

mv_amount

数字

单精度型

金额

mv_total

数字

单精度型

备注

mv_memo

文本

255

jxc_user(用户信息)表,用于保存客户名和密码的基本信息,该表包括2个字段,具体信息如表14。

表14jxc_user具体信息表

字段标题

字段名称

字段类型

字段大小

用户

u_name

文本

50

密码

u_PWD

文本

50

根据上述表格信息,建立药品进销存系统数据库,通过SQL语句与Visualbasic制作的程序连接,实现系统功能。

五、详细设计:

1.制作主窗体界面

(1)打开VisualBasic6.0中文版,新建一个标准工程,向工程中添加一个MDIForm窗体,设置其名称属性为“frmMain”,标题为“医药进销存管理系统”。

在工具栏中添加部件MicrosoftWindowsCommonControls6.0,并向窗口中添“StatusBar”按钮。

设置主窗体状态栏为三个窗格。

向窗口中添加菜单栏。

菜单栏包括系统、数据基础、进货管理、库存管理、查询、帮助六大部分,和分支结构,本系统中各菜单项的标题和名称具体内容见表15。

在MDIForm窗体中添加菜单栏,逐个创建系统的菜单,菜单编辑器见图4。

 

图4菜单编辑器图

表15应用程序菜单

菜单

子菜单

菜单名

快捷键

系统(&S)

mnuSystem

修改密码(&M)

mnuModifyPWD

添加用户(&A)

muuAddUser

mnu1

退出(&X)

mnuExit

Ctrl+X

数据基础(&B)

mnuBase

药品类别(&T)

mnuCNType

业务员类别(&A)

mnuSalerType

mnu2

药品(&C)

mnuCommName

Ctrl+C

供应商(&S)

mnuSupp

Ctrl+S

客户(&U)

mnuCust

Ctrl+U

业务员(&E)

mnuSaler

Ctrl+E

仓库(&T)

mnuStore

Ctrl+T

进货管理(&O)

mnuIN

进货订单(&O)

mnuINorder

Ctrl+F1

入库单(&I)

mnuIN1

Ctrl+F2

销售管理(&O)

mnuOUT

销售订单(&O)

mnuOUTOrder

Ctrl+F3

销售单(&S)

mnuOUT1

Ctrl+F4

库存管理(&T)

mnuStore1

仓库调货(&M)

mnuMove

Ctrl+F5

库存信息(&Q)

mnuDetail

Ctrl+F6

查询(&Q)

mnuQuery

进货查询(&I)

mnuQueryIN

按供应商查询(&S)

mnuINSupp

按仓库查询(&T)

mnuINStore

按业务员查询(&E)

mnuINSaler

销售查询(&O)

mnuQuerOUT

按客户查询(&C)

mnuOUTCust

按仓库查询(&T)

mnuOUTStore

按业务员查询(&E)

mnuOUTSaler

帮助(&H)

mnuHelp

关于(&A)

mnuAbout

F1

(2)主窗体主要用来集成系统的菜单,并在下方显示一个状态栏,添加了菜单后的主窗体见图5。

图5主窗体图

(3)为主窗体设计好菜单后,就可为窗体的装载、卸载事件,以及各菜单编写代码。

PrivateSubmnuOUTOrders_Click()'销售订单

frmOutOrders.strSQL="SELECTso_id,so_date,so_saler,cus_id,cn_id,"&_

"cn_enddate,so_amount,so_price,so_amount,so_total,so_memo"&_

"FROMjxc_SalesOrders"'设置窗体参数

frmOutOrders.Show'显示“销售订单”窗体

EndSub

PrivateSubmnuStore_Click()'仓库

frmStore.strSQL="SELECT*FROMjxc_store"

frmStore.Show'显示“仓库”窗体

EndSub

PrivateSubmnuINOrders_Click()'进货订单

frmOrders.strSQL="SELECTod_id,od_date,od_saler,sup_id,com_id,"&_

"od_enddate,od_amount,od_price,od_discount,od_total,od_memo"&_

"FROMjxc_orders"'设置窗体参数

frmOrders.Show'显示“进货订单”窗体

EndSub

PrivateSubmnuIN1_Click()'入库单

frmIN.strSQL="SELECTin_id,in_date,in_saler,sup_id,st_id,com_id,"&_

"com_enddate,in_amount,in_price,in_discount,in_total,in_cash,"&_

"in_arr,in_rate,in_memoFROMjxc_inWHEREin_memoISNULL"

frmIN.Show'显示“入库单”窗体

EndSub

PrivateSubmnuExit_Click()'退出

UnloadMe

EndSub

PrivateSubmnuSupp_Click()'供应商

frmSupp.strSQL="SELECT*FROMjxc_supp"

frmSupp.Show'显示“供应商”窗体

EndSub

PrivateSubmnuINStore_Click()'进货-按仓库查询

frmQueryINStore.Show'显示“进货信息——按仓库查询”窗体

EndSub

PrivateSubmnuCust_Click()'客户

frmCustom.strSQL="SELECT*FROMjxc_cust"

frmCustom.Show'显示“客户”窗体

EndSub

PrivateSubmnuCommName_Click()'药品

frmCommList.strSQL="SELECT*FROMjxc_CommName"

frmCommList.Show'显示“药品”窗体

EndSub

PrivateSubmnuOUT1_Click()'销售单

frmOUT.strSQL="SELECTout_id,out_date,out_saler,cus_id,st_id,cn_id,"&_

"cn_enddate,out_amount,out_price,out_discount,out_total,"&_

"out_cash,out_arr,out_rate,out_memoFROMjxc_out"'设置窗体参数

frmOUT.Show'显示“销售单”窗体

EndSub

PrivateSubmnuSalerType_Click()'业务员类别

frmSMType.strSQL="SELECT*FROMjxc_SMType"

frmSMType.Show'显示“业务员类别”窗体

EndSub

PrivateSubmnuSaler_Click()'业务员

frmSales.strSQL="SELECT*FROMjxc_sales"

frmSales.Show'显示“业务员”窗体

EndSub

PrivateSubmnuMove_Click()'仓库调货

frmMoveStore.strSQL="SELECT*FROMjxc_move"

frmMoveStore.Show'显示“药品转仓”窗体

EndSub

2.设计模块

我负责的主要是库存管理和查询两个模块,库存管理模块包括仓库调货和仓库信息,查询模块包括进货查询和销售查询。

(1)仓库管理模块

库存管理模块包括调货和库存信息两个子模块。

其中仓库调货子模块用于在不同的仓库之间调货,即将一个仓库的药品调到另一个仓库中。

库存信息子模块用于按仓库(或按药品名称)查询库存情况。

下面分别介绍着两个子模块的制作过程。

1仓库调货子模块

首先在见图6的窗体中显示已有的仓库调货信息,单击“添加”按钮即可打开见图7所示的仓库调货窗体,在窗体中输入调货的信息即可。

图6仓库调货列表图

图7调仓库信息图

在调仓库信息窗体中,左下脚有7个文本框在运行时为隐藏状态,用来保存一些参照数据。

该窗体处理仓库信息时分两种情况,一是新增调仓信息,其操作比较简单,从转出仓库减去调用数量和金额,在增加到转入仓库即可。

编写程序代码时,在窗体代码的声名部分编写代码以strSQL作为窗体的参数,用来保存SQL语句,调用该窗体的过程通过该参数传递需要修改数据;在窗体的Load事件中编写代码先从数据库中获取业务员姓名、转出/转入仓库名称、药品名称,并添加到对应的组合框中,供用户选择。

接着再根据添加模式还是修改模式,决定窗体中的各个控件显示的内

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2