VF进销存管理系统论文(系统结构图+源代码) 第9页
图7 入库管理模块运行结果
1.表单设计
(1)在“通用进销存管理系统”项目文件中添加一个表单,命名为Frm入库管理。
(2)向表单内添加自制类控件Back、Label控件、Text控件、Combo控件、MSHFlexGrid控件、Container控件、Command控件、Container控件、Image控件、RainFunction类控件、FormIn类控件。
(3)重要控件的属性设置如表所示。
表7 重要控件及属性
对象 属性 值
Form1 AutoCenter .T.
Form1 ShowWindows 2-作为顶层表单
RainSupInput1 数据库 供应商信息表
RainSupInput1 字段 全称
RainSupInput2 数据库 LSSPXXB
RainSupInput2 临时表名 LS
RainSupInput2 字段 名称
2.代码设计
在表单的Into方法程序下添加如下代码:
SELE ls
thisform.text5.value=ls.规格
thisform.text6.value=ls.产地
thisform.text9.value=ls.计量单位
thisform.text7.value=ls.出厂日期
thisform.text8.value=ls.保质期
thisform.text10.value=ls.进价
thisform.text11.value=ls.批发价
thisform.text12.value=ls.零售价
IF thisform.msgrid.rows=2
thisform.combo1.enabled=.t.
ENDIF
FOR m=7 TO 13
textname="text"+alltrim(str(m))
thisform.&textname..enabled=.t.
ENDFOR
在表单的Init事件下添加如下代码:
PUBLIC gys,sp,rzbh
rzbh=thisform.rainfunction1.autonumber("入库日志","R")
thisform.rainsupinput1.enabled=.f.
thisform.rainsupinput2.enabled=.f.
在表单的Unload事件下添加如下代码:
IF file("lsspxxb.dbf")=.t.
SELE lsspxxb
USE
DELE FILE lsspxxb.*
ENDIF
在“入库时间”文本框的ProgrammaticChange事件下添加如下代码:
thisform.msgrid.textmatrix(thisform.msgrid.rows-1,2)=this.value
在表格控件Msgrid的Init事件下添加如下代码:
thisform.msgrid.cols=10
thisform.msgrid.colwidth(0)=this.rowheight(0)
thisform.msgrid.textmatrix(0,1)="编号"
thisform.msgrid.textmatrix(0,2)="入库时间"
thisform.msgrid.textmatrix(0,3)="供应商编号"
thisform.msgrid.textmatrix(0,4)="商品编号"
thisform.msgrid.textmatrix(0,5)="入库数量"
thisform.msgrid.textmatrix(0,6)="付款方式"
thisform.msgrid.textmatrix(0,7)="单价"
thisform.msgrid.textmatrix(0,8)="金额"
thisform.msgrid.textmatrix(0,9)="操作员"
在“进货价格”文本框的ProgrammaticChange事件下添加如下代码:
thisform.msgrid.textmatrix(thisform.msgrid.rows-1,7)=this.value
在“进货价格”文本框的InterActiveChange事件下添加如下代码:
thisform.msgrid.textmatrix(thisform.msgrid.rows-1,7)=this.value
在“数量”文本框的GotFocus事件下添加如下代码:
gg=alltrim(thisform.text5.value)
cd=alltrim(thisform.text6.value)
jldw=alltrim(thisform.text9.value)
ccrq=thisform.text7.value
bzq=thisform.text8.value
jj=thisform.text10.value
pfj=thisform.text11.value
lsj=thisform.text12.value
UPDATE 商品信息表 SET 规格=gg,产地=cd,计量单位=jldw,出厂日期=ccrq,保质期=bzq,;
进价=jj,批发价=pfj,零售价=lsj WHERE 编号=sp
在“数量”文本框的KeyPress事件下添加如下代码:
IF nkeycode=13
a=messagebox("还有其他进货商品吗?",32+4,"系统提示")
IF a=6
thisform.msgrid.additem('')
thisform.combo1.enabled=.f.
thisform.rainfunction1.setall("Text",6,4,'Value',"")
thisform.rainfunction1.setall("Text",8,7,"value",{})
thisform.rainfunction1.setall("Text",17,10,"value",0)
thisform.text9.value=""
thisform.rainfunction1.setall("Text",17,5,"enabled",.f.)
thisform.msgrid.textmatrix(thisform.msgrid.rows-1,1)=rzbh
thisform.text2.programmaticchange
thisform.combo1.programmaticchange
thisform.rainsupinput1.执行
thisform.rainsupinput2.value=""
thisform.rainsupinput2.setfocus
ELSE
thisform.rainfunction1.setall("Text",17,4,"enabled",.f.)
thisform.combo1.enabled=.f.
thisform.rainsupinput2.enabled=.f.
IF thisform.combo1.displayvalue="挂账"
FOR m=1 TO thisform.msgrid.rows-1
thisform.text15.value=thisform.text15.value+;
val(thisform.msgrid.textmatrix(m,8))
ENDFOR
thisform.text16.value=0
thisform.command2.click
ELSE
thisform.text16.enabled=.t.
FOR m=1 TO thisform.msgrid.rows-1
thisform.text15.value=thisform.text15.value+;
val(thisform.msgrid.textmatrix(m,8))
ENDFOR
ENDIF
ENDIF
ENDIF
在“数量”文本框的InterActiveChange事件下添加如下代码:
ENDIF
thisform.msgrid.textmatrix(thisform.msgrid.rows-1,5)=this.value
thisform.msgrid.textmatrix(thisform.msgrid.rows-1,8)=;
thisform.text10.value*this.value
thisform.text14.value=thisform.msgrid.rows-1
thisform.text18.value=thisform.text10.value*this.value
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>