使用VisualBasic和Access开发.docx

上传人:b****7 文档编号:26374615 上传时间:2023-06-18 格式:DOCX 页数:14 大小:282.49KB
下载 相关 举报
使用VisualBasic和Access开发.docx_第1页
第1页 / 共14页
使用VisualBasic和Access开发.docx_第2页
第2页 / 共14页
使用VisualBasic和Access开发.docx_第3页
第3页 / 共14页
使用VisualBasic和Access开发.docx_第4页
第4页 / 共14页
使用VisualBasic和Access开发.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

使用VisualBasic和Access开发.docx

《使用VisualBasic和Access开发.docx》由会员分享,可在线阅读,更多相关《使用VisualBasic和Access开发.docx(14页珍藏版)》请在冰豆网上搜索。

使用VisualBasic和Access开发.docx

使用VisualBasic和Access开发

 

使用VisualBasic和Access开发

产品零件计划自动编制软件

 

沈阳第一机床厂总经理办公室董凌云

〖摘要〗本文阐述了在企业中,怎样使用VisualBasic和Access开发产品零件计划自动编制软件,对其中的关键点如数据结构、数据录入、循环汇总等进行了详细说明。

〖主题词〗VisualBasicAccess产品零件计划软件开发

使用VisualBasic和Access开发

产品零件计划自动编制软件

自20世纪90年代以来,计算机技术的广泛应用,极大地推动了社会的发展进步。

在企业中,随着各种基于计算机基础上的管理技术的不断深入,例如MRPII、ERP等,给企业发展带来了无穷的机遇和广阔的前景。

然而对于一些暂时还不具备实施大规模计算机管理条件的企业,完全可以有针对性地开发一些有利于提高效率、减少错误的小软件,以满足生产经营的需要。

任务背景

一般来说,企业下达到车间级别的生产计划是非常详细的(我厂称之为零件细计划),而对于专业化较强的企业来说这个计划就更加重要。

我厂的零件计划来自于对生产大计划的分解,即在每月下旬首先制定出下月的机床台份出产计划,然后将该大计划按照产品结构数据分类汇总成为零件数据,再根据零件工艺路线的不同将零件计划分解到各车间。

我厂使用两位数字的工艺代码来代表车间,例如“01”代表1#车间,“02”代表2#车间等,依此类推。

我厂在每月进行零件计划的分解时,广大计划员、统计员都要辛辛苦苦地忙上好几天,使用EXCEL电子表格软件对庞大的数据信息分类汇总,主要依靠手工操作,既繁杂又容易出错;而且一旦出现错误经常要等到耽误生产时才察觉出来,却为时已晚,造成了一定的损失。

针对上述情况,我们完全可以应用VisualBasic6.0开发工具、MicrosoftAccess和SQLServer数据库工具及SQL语言知识,自行开发一个产品零件计划自动编制的软件,让计算机来代替手工操作,既准确又快捷,何乐而不为?

开发工具

VisualBasic6.0是Microsoft公司出品的一个集应用程序开发、测试、查错等功能于一体的集成式开发环境,它是当前使用最广泛的开发工具之一,据说目前所有的职业开发人员中有超过50%的人正在使用VisualBasic语言。

VisvalBasic6.0是Microsoft公司最新推出的可视化编程语言,可视化编程是一种快捷、标准、高效的程序设计方法,它利用面向对象的编程方式,让程序员通过对象操作能设计出与Windows操作系统一致的界面。

VisualBasic6.0适合用于图形界面设计、数据库编程、WEB和多媒体开发等。

Access2000是Microsoft公司出品的Office2000软件系列中的一部分,作为一种小型数据库,在世界上应用相当广泛。

无论用户是要创建一个个人使用的独立的桌面数据库,还是部门或整个公司使用的数据库,在需要管理和共享数据时,Access都能为使用数据库提供便利。

Access2000可以很方便地在不同的平台和用户级上实现数据共享,能够与VisualBasic无缝集成,可以大大地提高工作效率。

Excel2000是Microsoft公司出品的Office2000软件系列中的相当具有创新特点的重要部分,一直受到广大用户的好评。

作为一种电子表格软件,Excel2000在各个领域都发挥了重要的作用,大家已经越来越离不开它。

我厂几乎全部的统计汇总工作都是使用该软件完成的。

数据结构

在进行数据库软件开发时,第一步也是最关键的一步便是数据库的搭建。

这里我主要建立了两个数据库,在每个数据库内放置若干数据表。

●基本信息数据库

车间信息表——车间代码、车间名称;

DAIMA

MINGCHENG

1#

40加工车间

3#

奇型件加工车间

4#

小件加工车间

5#

箱体加工车间

9#

轴杠加工车间

单位信息表——单位代码、单位名称;

DAIMA

DANWEI

10

毫米

11

厘米

12

分米

13

14

十米

15

百米

20

平方毫米

工艺信息表——车间代码、工艺代码、工艺内容;

CHEJIANDAIMA

GONGYIDAIMA

GONGYINEIRONG

1#

01

40加工部分

2#

02

40部装部分

3#

03

加工部分

3#

23

装配部分

4#

04

轴盘套加工部分

4#

24

零件煨弯部分

级别信息表——代码、名称,指零部件的层次级别,依次为:

系列→型号→规格→整机编号→部件、分部件→组件→分件、零件;

DAIMA

MINGCHENG

10

系列

20

型号

30

规格

40

整机编号

50

部件

51

分部件

60

组件

70

分件

71

零件

类型信息表——代码、名称,指零部件的所属类型,即整机、部件、专用件、标准件、外购件;

DAIMA

MINGCHENG

ZJ

整机

BJ

部件

ZYJ

专用件

BZJ

标准件

WGJ

外购件

●零件计划数据库

零件基础信息表——级别、件号、名称、路线;

JIBIE

JIANHAO

MINGCHENG

LUXIAN

71

373-01004L

支承螺钉

16.04.13.90

71

373-01005L

螺母

16.04.13.90

71

373-01006L

垫圈

16.04.13.90

71

373-02007L

挡板

18.13.06

71

373-02011L

19.04.06

71

373-02012L

17.04.06

零件结构信息表——父项、子项、数量;

FUXIANG

ZIXIANG

SHULIANG

373-80002H

373-80016S1

1

373-80002H

373-80006S

1

373-94001B

373-94001H

1

373-94001H

373-94003S

2

CK6145/1000/Q02032-33

K45-A1001T

1

CK6145/1000/Q02032-33

K45-52092B

1

零件计划信息表——(准备下达生产大计划产量台份)件号、数量;

JIANHAO

SHULIANG

CK6145/650/Q02036

1

CK6145/650/Q02037

1

CK6145/1000/Q02032-33

2

CK6145/1000/Q02034

1

CK6154/650/Q02035

1

●汇总结果临时数据库

在该数据库中,按照车间代号名称设置了若干数据表。

零件计划初步统计的总表如下(数据结构为件号、数量,件号允许重复):

JIANHAO

SHULIANG

CK6145/650/Q02036

1

CK6145/650/Q02037

1

CK6145/1000/Q02032-33

2

CK6145/1000/Q02034

1

CK6154/650/Q02035

1

K45-01001B

1

对总表内的零件分类汇总后的数据表如下(数据结构为件号、名称、数量、路线):

JIANHAO

MINGCHENG

SHULIANG

LUXIAN

373-01004L

支承螺钉

55

16.04.13.90

373-01005L

螺母

55

16.04.13.90

373-01006L

垫圈

55

16.04.13.90

373-02007L

挡板

10

18.13.06

373-02011L

5

19.04.06

对分类汇总后的零件数据表根据工艺路线的不同,提取出所应发放的车间代码。

下表为3#车间(代码为03)的最终零件计划汇总结果(数据结构为件号、名称、数量、路线),即为下发3#车间的零件计划。

JIANHAO

MINGCHENG

SHULIANG

LUXIAN

373-03047L

拉块

4

17.03.90

373-09006L1

管接头

2

17.03.13.90

373-09007L1

管接头

2

17.03.13.90

373-52012L

底板

5

18.03.13.90

373-68004L

钢带

3

73.03.90

在上述数据库和数据表中,最重要的就是按照“父项、子项、子项数量”模式搭建的零部件数据结构,该结构简单明晰地表达了组件与子件的关系,保证了后续汇总模块的顺利执行。

数据录入

在这项工作中,数据库的录入也是非常重要的。

在很多人眼中,数据的录入似乎是一件极为简单的事情,其实不然。

我们只能说“录入”是简单的,但“准备录入”却并不是一件容易的事情。

寻求更好、更方便、更准确的录入方法在这里具有举足轻重的作用。

为了提高效率,我采用Excel2000作为录入工具,因为我厂绝大部分计划统计人员对Excel2000都相当熟悉,录入数据时得心应手。

同时,还可以多使用一些技巧来提高录入速度和准确率。

例如,在录入零件结构信息表数据时,按照以往惯例,形成的历史数据格式如下:

父项

子项

数量

K45-07001B

S14-07302L

1

S14-07303L

1

K45-07004L

1

K45-07002B

K45-07001B

1

K45-07004L

1

K45-09001B

373-09006L1

1

K45-09001L

1

K45-09002L

1

K45-09002B

K45-09001H

1

373-09007L1

1

但是在形成标准数据格式时,必须把“父项”这一列完全填满,即形成如下格式:

父项

子项

数量

K45-07001B

S14-07003L

1

K45-07001B

S14-07010L

1

K45-07001B

S14-07302L

1

K45-07001B

S14-07303L

1

K45-07001B

K45-07004L

1

K45-07002B

K45-07001B

1

K45-09001B

373-09006L1

1

K45-09001B

K45-09001L

1

K45-09001B

K45-09002L

1

K45-09001B

K45-09001H

1

K45-09001B

373-09007L1

1

要形成上述格式,只靠人工方法不断地复制、拖动的工作量相当大、且容易出错,而为此编一段程序又不太值得;因此我利用Excel强大的公式功能,通过公式IF(A3="",B2,A3)轻松达到了目的。

在Excel2000中将数据录入完毕、经检查无误后,只需要使用拷贝、粘贴命令就可以将其导入Access数据库中,十分方便。

程序原理

该程序以Access2000作为后台数据库,以Excel2000作为数据整理录入工具,以VisualBasic6.0作为前台开发和界面设计工具进行开发设计。

简单的说就是在已知需编制计划的产品数量的条件下,根据其产品型号到结构数据表中循环查找其子项条目,并将子项数量与父项数量相乘,最终将结果加入数组,形成初步的汇总数据表。

当全部子项条目都循环完毕后,对初步的汇总数据表进行分类汇总,形成最终的汇总数据表;再从基础数据表中查询汇总数据表中对应件号的其他字段(级别、名称、路线等),并按照零件的工艺路线筛选出所归属各相关车间的零件计划,最终将零件计划下发到各相关车间。

在该程序中,最关键的一段当属于对产品零部件父项、子项的循环汇总,这部分的程序清单如下:

'打开零件计划数据库,读取内容

LblProgress.Caption="打开零件计划数据库,读取内容"

DimChanPinDBAsDatabase,rcs_JiHuaAsRecordset,rcs_JiChuAsRecordset,rcs_JieGouAsRecordset

SetChanPinDB=OpenDatabase(SourceDBname)

Setrcs_JiHua=ChanPinDB.OpenRecordset("JIHUA")

i=rcs_JiHua.RecordCount-1'初始数组上限,即计划条目数量(从0开始计算)

ReDimArrJianHao(i)

ReDimArrShuLiang(i)'重新定义数组上限

PrgHuiZong.Value=0.1*PrgMax

'读取计划条目加入数组及汇总数据表

LblProgress.Caption="读取计划条目加入数组及汇总数据表"

i=0

IfNot(rcs_JiHua.BOFAndrcs_JiHua.EOF)Then

rcs_JiHua.MoveFirst

DoUntilrcs_JiHua.EOF

ArrJianHao(i)=rcs_JiHua("JIANHAO")

ArrShuLiang(i)=rcs_JiHua("SHULIANG")

rcs_HuiZong.AddNew

rcs_HuiZong!

JIANHAO=rcs_JiHua("JIANHAO")

rcs_HuiZong!

SHULIANG=rcs_JiHua("SHULIANG")

rcs_HuiZong.Update

rcs_JiHua.MoveNext

i=i+1

Loop

EndIf

rcs_JiHua.Close

PrgHuiZong.Value=0.2*PrgMax

StartIndex=0

EndIndex=i-1

'循环查找子项条目,并将子项数量与父项数量相乘,结果加入数组及汇总数据表

LblProgress.Caption="循环查找子项条目"

DoWhileEndIndex>StartIndex

Forj=StartIndexToEndIndex

StrSqlCmd="select*fromJIEGOUwhereFUXIANG="+"'"+ArrJianHao(j)+"'"

Setrcs_JieGou=ChanPinDB.OpenRecordset(StrSqlCmd)

IfNot(rcs_JieGou.BOFAndrcs_JieGou.EOF)Then

rcs_JieGou.MoveLast

EndIf

x=rcs_JieGou.RecordCount

upper=UBound(ArrJianHao)

ReDimPreserveArrJianHao(x+upper)

ReDimPreserveArrShuLiang(x+upper)

x=0

IfNot(rcs_JieGou.BOFAndrcs_JieGou.EOF)Then

rcs_JieGou.MoveFirst

DoUntilrcs_JieGou.EOF

x=x+1

ArrJianHao(x+upper)=rcs_JieGou("ZIXIANG")

ArrShuLiang(x+upper)=rcs_JieGou("SHULIANG")*ArrShuLiang(j)

rcs_HuiZong.AddNew

rcs_HuiZong!

JIANHAO=rcs_JieGou("ZIXIANG")

rcs_HuiZong!

SHULIANG=rcs_JieGou("SHULIANG")*ArrShuLiang(j)

rcs_HuiZong.Update

rcs_JieGou.MoveNext

Loop

EndIf

rcs_JieGou.Close

Nextj

StartIndex=EndIndex

EndIndex=UBound(ArrJianHao)

Loop

rcs_HuiZong.Close

使用效果

该软件编制完成后开始针对局部产品试运行,在基础数据完备的情况下,工作效率显著提高,统计汇总错误率减少到零,反映速度大大增强,极大地解放了广大计划统计员的手工计算机操作工作,取得了非常好的效果。

在零件计划统计汇总的基础上,还可以制作产品的树形结构图,用于查找录入错误和研究产品结构非常方便。

 

参考资料:

[1]VisualBasic程序设计王汉新科学出版社

[2]中文VisualBasic6.0案例教程李勇平等北京希望电子出版社

[3]VisualBasic6.0数据库开发实例同志工作室人民邮电出版社

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1