| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 837 人关注过本帖
标题:我想用vb做个商品折损模块,如图
只看楼主 加入收藏
t469116416
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2014-1-10
结帖率:80%
收藏
已结贴  问题点数:15 回复次数:13 
我想用vb做个商品折损模块,如图
图片附件: 游客没有浏览图片的权限,请 登录注册

把折损的数量输入后,首先把这个折损单写入折损表,然后查询折损的商品编号,在库存表中减去折损的数量,并显示在每个表的datagrid上。
程序代码:
Private Sub Command1_Click() '确定添加按钮
Dim cn As New ADODB.Connection
Dim rss As New ADODB.Recordset
Dim rsss As New ADODB.Recordset
rsss.CursorLocation = adUseClient
ConnectionString = "Provider=SQLOLEDB.1;Password=1234;Persist Security Info=True;User ID=sa;Initial Catalog=csjxcglxt;Data Source=TANGJIANQIAO-PC"
cn.Open ConnectionString
If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or Text7.Text = "" Then
MsgBox "输入信息不完全,请重新输入", , "提示"
Exit Sub
Else
rss.Open "select * from 商品库存表 where  商品编号 = str(" & Text1.Text & ")", cn, adOpenKeyset, adLockOptimistic

rsss.Open "select * from 商品折损表 ", cn, adOpenDynamic, adLockBatchOptimistic
rsss.AddNew
rsss.Fields("折损单编号") = Text1.Text
rsss.Fields("折损商品编号") = Text2.Text
rsss.Fields("折损商品名称") = Text3.Text
rsss.Fields("数量") = Text4.Text
rsss.Fields("折损原因") = Text6.Text
rsss.Fields("日期") = Text7.Text
rsss.Fields("金额") = Text5.Text
rsss.Update

rss!商品库存量 = rss!商品库存量 - Val(Text4.Text)
rss.Update
MsgBox "已添加"
End If

spzsglck.Adodc1.Refresh '表格马上更新
Set spzsglck.DataGrid1.DataSource = spzsglck.Adodc1
spzsglck.DataGrid1.Refresh
spzsglck.Show
Unload Me
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
Text6.Text = "过期"
Text7.Text = Date

End Sub
2014-01-27 15:48
t469116416
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2014-1-10
收藏
得分:0 
现在是所有的功能不能实现,不能添加,而且不能修改库存量,每次运行显示如下图的错误
图片附件: 游客没有浏览图片的权限,请 登录注册

rss!商品库存量 = rss!商品库存量 - Val(Text4.Text)错误在这句上
2014-01-27 15:51
vbvcr51
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:18
帖 子:364
专家分:1724
注 册:2013-11-3
收藏
得分:8 
说明没有此记录啊。那你要错误处理啊,弹出一个提示框,给用户什么提示。发站内信可以互聊。
其实编个信息管理软件不是很难(技术上不成问题的),主要是做到面面俱到。比如查询记录了,是产生什么效果,但查不到记录,你也要编好代码,给出一个什么效果。软件本身不会思考的,都需要编程人员都处理好。要面面俱到,所以花费的时间很长了。编个软件就不容易了。

[ 本帖最后由 vbvcr51 于 2014-1-27 19:15 编辑 ]
2014-01-27 19:11
t469116416
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2014-1-10
收藏
得分:0 
回复 3楼 vbvcr51
大神能不能给个解决的方案啊,我vb学的不好,
2014-01-27 20:46
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
收藏
得分:8 
在语句rss.Open "select * from 商品库存表 where  商品编号 = str(" & Text1.Text & ")", cn, adOpenKeyset, adLockOptimistic后面加两个判断即可,代码如下:
if rss.eof then
  msgbox "库存里没有该商品记录,无法进行折损操作"
  rss.close
  exit sub
else
  if rss!商品库存量<val(text4) then
    msgbox "折损数量不可能大于库存数量,请重新输入折损数"
    text4.setfocus
    rss.close
    exit sub
  endif
endif
2014-01-27 22:42
t469116416
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2014-1-10
收藏
得分:0 
回复 5楼 lowxiong
大神,一直显示没有商品记录,怎么办
2014-01-28 13:46
t469116416
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2014-1-10
收藏
得分:0 
呵呵我错了大神们,我把文本框的编号搞错了!呵呵,大神们为什么折损表中没有添加的记录啊 ?
2014-01-28 14:19
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
收藏
得分:0 
商品编号不要用文本框,用combobox控件,这样可确保选择有库存的商品,代码如下(用combo1替换text2):
rss.open "select 商品编号 from 商品库存表 where sum(商品库存量)>0 group by 商品编号 order by 商品编号", cn, adOpenKeyset, adLockOptimistic
combo1.clear
while not rss.eof
  combo1.additem rss.fields("商品编号")
  rss.movenext
wend
rss.close
'如此一来,combo1里就是有库存的商品编号了,你就不会人为输入商品编号出现错误,只需选择combo1的下拉表的数据即可,这段代码加到form_load事件中

[ 本帖最后由 lowxiong 于 2014-1-28 15:31 编辑 ]
2014-01-28 15:30
t469116416
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2014-1-10
收藏
得分:0 
回复 8楼 lowxiong
好的谢谢大神,但是我现在的代码没有添加到商品折损表中也就是rsss没有添加成功
2014-01-28 17:19
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
收藏
得分:0 
从代码上看没什么问题,尤其没有错误提示,说明已经添加了新记录,你可以直接用企业管理器查看,记得每更新一次刷新一下。你可以在rsss.Update后面加入如下代码调试,如果提示的数据在增加说明添加成功,否则失败(不能用RecordCount方法,很多时候不准):
dim i as integer
i=0
if not (rsss.eof and not rsss.bof) then
  rsss.movefirst
  while not rsss.eof
    i=i+1
    rsss.movenext
  wend
endif
msgbox "折损现在有" & i & "条记录"
 
2014-01-28 19:23
快速回复:我想用vb做个商品折损模块,如图
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.070359 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved