VB程序设计进销存管理信息系统_第1页
VB程序设计进销存管理信息系统_第2页
VB程序设计进销存管理信息系统_第3页
VB程序设计进销存管理信息系统_第4页
VB程序设计进销存管理信息系统_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、vb进销存管理信息系统(1)添加 module模块,编写main过程:声明全局对象变量adocn ,用于创建与数据库的连接public adocn as connection 声明全局变量strquery1用于存储查询条件pubic strquery1 as string public sub main() 定义数据库连接字符串dim strsqlserver as string 用于连接sql server数据库,其中 : server 为服务器名称user id为登录账号, password为登录口令database为具体的数据库名请根据具体的实验环境修改这些参数strsqlserver

2、= provider=sqloledb;server=bigdog;us_ er id=sa;password=sa;database=进销存 连接 sql server数据库adocn.open strsqlserver 显示主窗体frmmain.show end sub 将 main过程设为工程启动对象。(2) frmmain窗体主要代码。 该窗体的代码主要用于调度其他各窗体,起串接作用。private sub toolbar1_buttonclick(byval button as mscomctllib.but_ton) select case button case 物资台账管理 f

3、rm 台账 .show 1 case 物资入库管理 frm 入库 .show 1 case 物资出库管理 frm 出库 .show 1 case 退出系统 unload me 或者使用end 命令end select end sub (3)“ frm 台账”窗体代码。“通用”部分声明一个sub 过程,用于在msflexgrid中显示记录。private sub displaygrid() 声明变量dim strgrid as string dim i as integer dim adors as new recordset adors.activeconnection = adocn 打开物

4、资台账if strquery1 then adors.open select * from 物资台账 where + strquery1 + order by 物资编码 else adors.open select * from 物资台账 order by 物资编码 end if 设置 msflexgrid控件的表头msflexgrid1.clear msflexgrid1.rows = 0 msflexgrid1.cols = 6 strgrid = 物资编码 + vbtab + 物资名称 + vbtab + 计量单位 + vbtab strgrid = strgrid + 单价 + vbt

5、ab + 期初库存 + vbtab + 期初金额 i = 0 在第 i 行增加一列msflexgrid1.additem strgrid, i i = i + 1 通过循环显示表中所有记录do while not adors.eof strgrid = adors(物资编码 ) + vbtab + adors(物资名称 ) + vbtab + adors( 计量单位 ) strgrid = strgrid + vbtab + str(adors(单价 ) + vbtab + str(adors(期初库存 ) strgrid = strgrid + vbtab + str(adors(单价 )

6、* adors(期初库存 ) msflexgrid1.additem strgrid, i adors.movenext 指针下移一条记录i = i + 1 loop msflexgrid1.rows = i + 1 msflexgrid1.fixedrows = 1 msflexgrid1.fixedcols = 1 end sub private sub form_load() 设置查询条件变量的初值strquery1 = 显示物资台账记录displaygrid end sub private sub command1_click() 调用增加记录窗体frmadd台账 .show 1 di

7、splaygrid end sub private sub command2_click() 删除一条记录dim strsql as string dim i as integer 取当前光标所在行i = msflexgrid1.row 取当前行的第0 列单元值,即物资编码列if msflexgrid1.textmatrix(i, 0) = then msgbox 请先选择一个记录!, vbquestion + vbokonly, 信息提示 exit sub end if strsql = delete from 物资台账 strsql = strsql + where 物资编码 = + ms

8、flexgrid1.textmatr _ ix(i, 0) + if msgbox(是否要删除? , vbquestion + vbokcancel, 信息提示 ) = vbok then adocn.execute strsql 执行删除操作end if 重新显示displaygrid end sub private sub command3_click() 调用修改记录窗体dim i as integer i = msflexgrid1.row if msflexgrid1.textmatrix(i, 0) = then msgbox 请先选择一个记录!, vbquestion + vbo

9、konly, 信息提示 exit sub end if 对 frmupdate台账窗体赋值with frmupdate台账.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) .show 1 end with 修改完后重新显示displa

10、ygrid end sub private sub command4_click() 调用设置查询条件窗体frmquery查询 .show 1 设置完查询条件后重新显示记录displaygrid end sub private sub command5_click() 调用打印报表窗体dim adors as new recordset adors.activeconnection = adocn if strquery1 then adors.open select * from 物资台账 where + strquery1 +order by 物资编码 else adors.open se

11、lect * from 物资台账 order by 物资编码 end if 设置报表窗体的datasource和 datamember属性set frmreport台账 .datasource = adors.datasource frmreport台账 .datamember = adors.datamember frmreport台账 .show 1 end sub private sub command6_click() 退出本窗体unload me end sub (4)“ frmadd台账”窗体代码。private sub command1_click() dim strsql as

12、 string dim adors as new recordset set adors.activeconnection = adocn 首先查询主关键字“物资编码”是否重复adors.open select 物资编码 from 物资台账 where 物资编码 = + text1(0) + if not adors.eof then msgbox 物资编码已存在,请重新输入, vbquestion + vbokonly, 信息提示 exit sub 退出本过程end if 增加一条新记录strsql = insert into 物资台账 (物资编码 ,物资名称 ,计量单位 ,单价 ,期初库存

13、 ) strsql = strsql + values( + text1(0) + , + text1(1) + , + combo1.text + , strsql = strsql + text1(2) + , + text1(3) + ) adocn.execute strsql msgbox 增加成功,请继续!, vbquestion + vbokonly, 信息提示 end sub private sub command2_click() 退出本窗体unload me end sub private sub form_load() 赋初值text1(0) = text1(1) = t

14、ext1(2) = 0 text1(3) = 0 combo1.listindex = 0 end sub private sub text1_change(index as integer) 当“单价”和“期初库存”值发生变化时,自动计算“期初金额”if index = 2 or index = 3 then text1(4) = trim(str(val(text1(2) * val(text1(3) end if end sub private sub text1_keypress(index as integer, keyascii as integer) 将用户输入的回车键转换为ta

15、b 键,使焦点自动下移if keyascii = 13 then sendkeys tab end if 对于“单价”和“期初库存”文本框只允许输入数字、小数点和退格键if index = 2 or index = 3 then if not (chr(keyascii) = 0 and chr(keyascii) = 9) _or chr(keyascii) = . or keyascii = 8) then keyascii = 0 end if end if end sub (5)“ frmupdate台账”窗体代码。主要代码是:private sub command1_click()

16、dim strsql as string strsql = update 物资台账 set 物资名称 = + text1(1) + , strsql = strsql + 计量单位 = + combo1.text + , strsql = strsql + 单价 = + text1(2) + , strsql = strsql + 期初库存 = + text1(3) strsql = strsql + where 物资编码 = + text1(0) + adocn.execute strsql unload me end sub (6)“ frmquery台账”窗体代码。private sub

17、 command1_click() 拼写查询条件字符串dim str1, str2 as string str1 = str2 = if text1(0) then str1 = 物资编码 + combo1.text + + text1(0) + end if if text1(1) then str1 = 物资名称 + combo2.text + + text1(1) + end if if str1 = and str2 = then strquery1 = elseif str1 = and str2 then strquery1 = str2 elseif str1 and str2 = then strquery1 = str1 else strquery1 = str1 + and + str2 end if unload me end sub private sub command2_click() 退出本窗体unload me end sub private sub fo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论