VB程序设计 进销存管理信息系统.docx

上传人:b****5 文档编号:11797575 上传时间:2023-04-02 格式:DOCX 页数:9 大小:16.52KB
下载 相关 举报
VB程序设计 进销存管理信息系统.docx_第1页
第1页 / 共9页
VB程序设计 进销存管理信息系统.docx_第2页
第2页 / 共9页
VB程序设计 进销存管理信息系统.docx_第3页
第3页 / 共9页
VB程序设计 进销存管理信息系统.docx_第4页
第4页 / 共9页
VB程序设计 进销存管理信息系统.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

VB程序设计 进销存管理信息系统.docx

《VB程序设计 进销存管理信息系统.docx》由会员分享,可在线阅读,更多相关《VB程序设计 进销存管理信息系统.docx(9页珍藏版)》请在冰豆网上搜索。

VB程序设计 进销存管理信息系统.docx

VB程序设计进销存管理信息系统

VB进销存管理信息系统

(1)添加Module模块,编写Main过程:

'声明全局对象变量ADOcn,用于创建与数据库的连接

PublicADOcnAsConnection

'声明全局变量strQuery1用于存储查询条件

PubicstrQuery1AsString

PublicSubMain()

'定义数据库连接字符串

DimstrSQLServerAsString

'用于连接SQLServer数据库,其中:

'Server为服务器名称

'UserID为登录账号,Password为登录口令

'Database为具体的数据库名

'请根据具体的实验环境修改这些参数

strSQLServer="Provider=SQLOLEDB;Server=bigdog;Us_

erID=sa;Password=sa;Database=进销存"

'连接SQLServer数据库

ADOcn.OpenstrSQLServer

'显示主窗体

frmMain.Show

EndSub

将Main过程设为工程启动对象。

(2)FrmMain窗体主要代码。

该窗体的代码主要用于调度其他各窗体,起串接作用。

PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.But_ton)

SelectCaseButton

Case"物资台账管理"

frm台账.Show1

Case"物资入库管理"

frm入库.Show1

Case"物资出库管理"

frm出库.Show1

Case "退出系统"

UnloadMe'或者使用End命令

EndSelect

EndSub

(3)“frm台账”窗体代码。

“通用”部分声明一个Sub过程,用于在MSFlexGrid中显示记录。

PrivateSubDisplayGrid()

'声明变量

DimstrGridAsString

DimiAsInteger

DimADOrsAsNewRecordset

ADOrs.ActiveConnection=ADOcn

'打开物资台账

IfstrQuery1<>""Then

ADOrs.Open"Select*From物资台账 Where"+strQuery1+"OrderBy物资编码"

Else

ADOrs.Open"Select*From物资台账 orderby物资编码"

EndIf

'设置MSFlexGrid控件的表头

MSFlexGrid1.Clear

MSFlexGrid1.Rows=0

MSFlexGrid1.Cols=6

strGrid="物资编码"+vbTab+"物资名称"+vbTab+"计量单位"+vbTab

strGrid=strGrid+"单价"+vbTab+"期初库存"+vbTab+"期初金额"

i=0

'在第i行增加一列

MSFlexGrid1.AddItemstrGrid,i

i=i+1

'通过循环显示表中所有记录

DoWhileNotADOrs.EOF

strGrid=ADOrs("物资编码")+vbTab+ADOrs("物资名称")+vbTab+ADOrs("计量单位")

strGrid=strGrid+vbTab+Str(ADOrs("单价"))+vbTab+Str(ADOrs("期初库存"))

strGrid=strGrid+vbTab+Str(ADOrs("单价")*ADOrs("期初库存"))

MSFlexGrid1.AddItemstrGrid,i

ADOrs.MoveNext'指针下移一条记录

i=i+1

Loop

MSFlexGrid1.Rows=i+1

MSFlexGrid1.FixedRows=1

MSFlexGrid1.FixedCols=1

EndSub

PrivateSubForm_Load()

'设置查询条件变量的初值

strQuery1=""

'显示物资台账记录

DisplayGrid

EndSub

PrivateSubCommand1_Click()

'调用增加记录窗体

FrmAdd台账.Show1

DisplayGrid

EndSub

PrivateSubCommand2_Click()

'删除一条记录

DimstrSQLAsString

DimiAsInteger

'取当前光标所在行

i=MSFlexGrid1.Row

'取当前行的第0列单元值,即物资编码列

IfMSFlexGrid1.TextMatrix(i,0)=""Then

MsgBox"请先选择一个记录!

",vbQuestion+vbOKOnly,"信息提示"

ExitSub

EndIf

strSQL="DeleteFrom物资台账"

strSQL=strSQL+"Where物资编码='"+MSFlexGrid1.TextMatr _

ix(i,0)+"'"

IfMsgBox("是否要删除?

",vbQuestion+vbOKCancel,"信息提示")=vbOKThen

ADOcn.ExecutestrSQL'执行删除操作

EndIf

'重新显示

DisplayGrid

EndSub

PrivateSubCommand3_Click()

'调用修改记录窗体

DimiAsInteger

i=MSFlexGrid1.Row

IfMSFlexGrid1.TextMatrix(i,0)=""Then

MsgBox"请先选择一个记录!

",vbQuestion+vbOKOnly,"信息提示"

ExitSub

EndIf

'对frmUpdate台账窗体赋值

WithfrmUpdate台账

.Text1(0)=MSFlexGrid1.TextMatrix(i,0)

.Text1

(1)=MSFlexGrid1.TextMatrix(i,1)

.Combo1.Text=MSFlexGrid1.TextMatrix(i,2)

.Text1

(2)=MSFlexGrid1.TextMatrix(i,3)

.Text1(3)=MSFlexGrid1.TextMatrix(i,4)

.Show1

EndWith

'修改完后重新显示

DisplayGrid

EndSub

PrivateSubCommand4_Click()

'调用设置查询条件窗体

FrmQuery查询.Show1

'设置完查询条件后重新显示记录

DisplayGrid

EndSub

PrivateSubCommand5_Click()

'调用打印报表窗体

DimADOrsAsNewRecordset

ADOrs.ActiveConnection=ADOcn

IfstrQuery1<>""Then

ADOrs.Open"Select*From物资台账 Where"+strQuery1 +"OrderBy物资编码"

Else

ADOrs.Open"Select*From物资台账 OrderBy物资编码"

EndIf

'设置报表窗体的DataSource和DataMember属性

SetfrmReport台账.DataSource=ADOrs.DataSource

FrmReport台账.DataMember=ADOrs.DataMember

FrmReport台账.Show1

EndSub

PrivateSubCommand6_Click()

'退出本窗体

UnloadMe

EndSub

(4)“frmAdd台账”窗体代码。

PrivateSubCommand1_Click()

DimstrSQLAsString

DimADOrsAsNewRecordset

SetADOrs.ActiveConnection=ADOcn

'首先查询主关键字“物资编码”是否重复

ADOrs.Open"Select物资编码 From物资台账 Where物资编码='"+ Text1(0)+"'"

IfNotADOrs.EOFThen

MsgBox"物资编码已存在,请重新输入",vbQuestion+vbOKOnly,"信息提示"

ExitSub'退出本过程

EndIf

'增加一条新记录

strSQL="InsertInto物资台账(物资编码,物资名称,计量单位,单价,期初库存)"

strSQL=strSQL+"Values('"+Text1(0)+"','"+Text1

(1) +"','"+Combo1.Text+"',"

strSQL=strSQL+Text1

(2)+","+Text1(3)+")"

ADOcn.ExecutestrSQL

MsgBox"增加成功,请继续!

",vbQuestion+vbOKOnly,"信息提示"

EndSub

PrivateSubCommand2_Click()

'退出本窗体

UnloadMe

EndSub

PrivateSubForm_Load()

'赋初值

Text1(0)=""

Text1

(1)=""

Text1

(2)="0"

Text1(3)="0"

Combo1.ListIndex=0

EndSub

PrivateSubText1_Change(IndexAsInteger)

'当“单价”和“期初库存”值发生变化时,自动计算“期初金额”

IfIndex=2OrIndex=3Then

Text1(4)=Trim(Str(Val(Text1

(2))*Val(Text1(3))))

EndIf

EndSub

PrivateSubText1_KeyPress(IndexAsInteger,KeyAsciiAsInteger)

'将用户输入的回车键转换为Tab键,使焦点自动下移

IfKeyAscii=13Then

SendKeys"{Tab}"

EndIf

'对于“单价”和“期初库存”文本框只允许输入数字、小数点和退格键

IfIndex=2OrIndex=3Then

IfNot((Chr(KeyAscii)>="0"AndChr(KeyAscii)<="9") _OrChr(KeyAscii)="."OrKeyAscii=8)Then

KeyAscii=0

EndIf

EndIf

EndSub

(5)“frmUpdate台账”窗体代码。

主要代码是:

PrivateSubCommand1_Click()

DimstrSQLAsString

strSQL="Update物资台账 Set物资名称='"+Text1

(1)+"',"

strSQL=strSQL+"计量单位='"+Combo1.Text+"',"

strSQL=strSQL+"单价="+Text1

(2)+","

strSQL=strSQL+"期初库存="+Text1(3)

strSQL=strSQL+"Where物资编码='"+Text1(0)+"'"

ADOcn.ExecutestrSQL

UnloadMe

EndSub

(6)“frmQuery台账”窗体代码。

PrivateSubCommand1_Click()

'拼写查询条件字符串

Dimstr1,str2AsString

str1=""

str2=""

IfText1(0)<>""Then

str1="物资编码"+Combo1.Text+"'"+Text1(0)+"'"

EndIf

IfText1

(1)<>""Then

str1="物资名称"+Combo2.Text+"'"+Text1

(1)+"'"

EndIf

Ifstr1=""Andstr2=""Then

strQuery1=""

ElseIfstr1=""Andstr2<>""Then

strQuery1=str2

ElseIfstr1<>""Andstr2=""Then

strQuery1=str1

Else

strQuery1=str1+"And"+str2

EndIf

UnloadMe

EndSub

PrivateSubCommand2_Click()

'退出本窗体

UnloadMe

EndSub

PrivateSubForm_Load()

'对窗体对象赋初值

Combo1.Clear

Combo1.AddItem"="

Combo1.AddItem">="

Combo1.AddItem">"

Combo1.AddItem"<"

Combo1.AddItem"<="

Combo1.AddItem"<>"

Combo2.Clear

Combo2.AddItem"="

Combo2.AddItem">="

Combo2.AddItem">"

Combo2.AddItem"<"

Combo2.AddItem"<="

Combo2.AddItem"<>"

Text1(0).Text=""

Text1

(1).Text=""

EndSub

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

当前位置:首页 > 经管营销 > 人力资源管理

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

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