VF进销存管理系统论文(系统结构图+源代码) 第14页
图9 库存盘点模块运行结果
1.表单设计
(1)在“通用进销存管理系统”项目文件中添加一个表单,命名为Frm库存盘点。
(2)向表单内添加自制类控件Back、Label控件、Text控件、Combo控件、MSHFlexGrid控件、Command控件、Container控件、添加Image控件、RainFunction类控件和FormIn类控件。
(3)重要控件的属性设置如表9所示。
表9 重要控件及属性
对象 属性 值
Form1 AutoCenter .T.
Form1 ShowWindows 2-作为顶层表单
2.代码设计
在表单的Unload事件下添加如下代码:
CLOSE ALL DATABASE
DELE FILE lsb.*
在表单的Init事件下添加如下代码:
PUBLIC bh
在表格控件的KeyPress事件下添加如下代码:
IF keyascii=13
thisform.text4.setfocus
ENDIF
在表格控件的RowColChange事件下添加如下代码:
FOR m=0 TO thisform.msgrid.rows-1
thisform.msgrid.textmatrix(m,0)=""
ENDFOR
mycol=thisform.msgrid.col
thisform.msgrid.textmatrix(thisform.msgrid.row,0)="F"
thisform.msgrid.col=0
thisform.msgrid.CellFontName="WingDings"
thisform.msgrid.CellFontSize=15
thisform.msgrid.cellforecolor=rgb(255,0,0)
thisform.msgrid.col=mycol
thisform.text2.value=val(thisform.msgrid.textmatrix(this.Row,7))
thisform.text5.value=val(thisform.msgrid.textmatrix(this.RoW,8))
thisform.text4.enabled=.t.
SELECT sum(损溢数量) AS 损溢数量 FROM 报损报溢表 ;
WHERE 商品编号=alltrim(this.textmatrix(this.row,1)) AND 盘点否=.f. INTO CURSOR lssyb
thisform.text3.value=lssyb.损溢数量
在表格控件的Init事件下添加如下代码:
thisform.msgrid.cols=9
thisform.msgrid.colwidth(0)=500
thisform.msgrid.colwidth(1)=1500
thisform.msgrid.colwidth(2)=1500
thisform.msgrid.colwidth(3)=2200
thisform.msgrid.colwidth(4)=2200
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)="库存金额"
在“查询字段”组合框的KeyPress事件下添加如下代码:
IF nKeyCode=13 AND this.displayvalue="全部"
thisform.command1.click
ENDIF
在“查询字段”组合框的InterActiveChange事件下添加如下代码:
IF this.value<>"全部"
thisform.text1.enabled=.t.
ELSE
thisform.text1.enabled=.f.
SELE 商品信息表
GO TOP
thisform.msgrid.rows=2
IF reccount()<>0
FOR m=1 TO reccount()
SELE 商品信息表
GOTO m
thisform.msgrid.additem("")
thisform.msgrid.textmatrix(m,1)=商品信息表.编号
thisform.msgrid.textmatrix(m,2)=商品信息表.名称
thisform.msgrid.textmatrix(m,3)=商品信息表.计量单位
IF empty(商品信息表.出厂日期)=.f. AND empty(商品信息表.保质期)=.f.
thisform.msgrid.textmatrix(m,4)=商品信息表.出厂日期
thisform.msgrid.textmatrix(m,5)=商品信息表.保质期
ENDIF
thisform.msgrid.textmatrix(m,6)=商品信息表.进价
SELECT * FROM 库存信息表 WHERE 商品编号=商品信息表.编号 ;
INTO CURSOR lskc
thisform.msgrid.textmatrix(m,7)=lskc.库存数量
thisform.msgrid.textmatrix(m,8)=lskc.库存数量*商品信息表.进价
ENDFOR
ENDIF
thisform.msgrid.rows=thisform.msgrid.rows-1
ENDIF
在“条件”文本框的InterActiveChange事件下添加如下代码:
thisform.command1.click
在“盘点数量”文本框的KeyPress事件下添加如下代码:
IF nkeycode=13
thisform.command2.setfocus
ENDIF
在“查询”按钮的Click事件下添加如下代码:
IF empty(thisform.text1.value)=.f.
DO CASE
CASE thisform.combo1.displayvalue="全部"
SELECT * FROM 商品信息表 INTO DBF lsb
CASE thisform.combo1.displayvalue="供应商"
tj=alltrim(thisform.text1.value)+"%"
IF asc(left(alltrim(thisform.text1.value),1))>= asc("1") AND ;
asc(left(alltrim(thisform.text1.value),1))<= asc("9") OR;
asc(left(alltrim(thisform.text1.value),1))>= asc("a") AND ;
asc(left(alltrim(thisform.text1.value),1))<= asc("z")
SELECT * FROM 供应商信息表 WHERE 简称 LIKE TJ INTO CURSOR lssp
ELSE
SELECT * FROM 供应商信息表 WHERE 全称 LIKE TJ INTO CURSOR lssp
ENDIF
IF reccount()=1
thisform.text1.value=lssp.全称
ENDIF
bh=lssp.编号
SELECT * FROM 商品信息表 WHERE 供应商编号=bh INTO DBF lsb
OTHERWISE
zd=alltrim(thisform.combo1.displayvalue)
tj=alltrim(thisform.text1.value)+"%"
SELECT * FROM 商品信息表 WHERE &zd. LIKE tj INTO DBF lsb
ENDCASE
thisform.msgrid.rows=2
FOR m=1 TO thisform.msgrid.cols-1
thisform.msgrid.textmatrix(1,m)=""
ENDFOR
FOR m=1 TO reccount()
SELE lsb
GOTO m
thisform.msgrid.additem("")
thisform.msgrid.textmatrix(m,1)=lsb.编号
thisform.msgrid.textmatrix(m,2)=lsb.名称
thisform.msgrid.textmatrix(m,3)=lsb.计量单位
IF empty(lsb.出厂日期)=.f. AND empty(lsb.保质期)=.f.
thisform.msgrid.textmatrix(m,4)=lsb.出厂日期
thisform.msgrid.textmatrix(m,5)=lsb.保质期
ENDIF
thisform.msgrid.textmatrix(m,6)=lsb.进价
SELECT * FROM 库存信息表 WHERE 商品编号=lsb.编号 INTO CURSOR lskc
thisform.msgrid.textmatrix(m,7)=lskc.库存数量
thisform.msgrid.textmatrix(m,8)=lskc.库存数量*lsb.进价
ENDFOR
IF thisform.msgrid.rows>2
thisform.msgrid.rows=thisform.msgrid.rows-1
ENDIF
ENDIF
<< 上一页 [11] [12] [13] [14] [15] [16] 下一页