说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

关于比较大小的问题,在线等,谢谢了先

编辑:说三道四文库 发布时间:2018-07-19 10:19
HTML文档下载 WORD文档下载 PDF文档下载
If " & CDbl(shuliang) & " < "n_nmb" Then
 sql = " insert into chukubiao(v_name,v_unit,n_nmb,n_price,shop,v_xmb,v_memo,d_time,c_sfjs,c_zcfc,c_xmmc,c_xmbh) values('" & Combo4 & "','" & Combo3 & "','" & shuliang & "','" & fucaidanjia & "','" & Combo6 & "','" & Combo1 & "','" & beizhu & "','" & DTPicker1 & "','" & sfjs1 & "','" & Combo2 & "','" & Text2 & "','" & Text3 & "')"
   '更新数据库

    'flag = "insert"
 conn.Execute (sql)
  'a = CDbl(shuliang)
  
 sql1 = " update kucunbiao set n_nmb = n_nmb-" & CDbl(shuliang) & " where v_name ='" & Combo4 & "' "
conn.Execute (sql1)
'Text4 = sql1
Else
  MsgBox "库存量不足"
End If
高手帮我看一下,我的程序一直执行两个SQL语句,好象哪个判断语句不起作用,正确的应该怎么弄呢?
If " & CDbl(shuliang) & " < "n_nmb" Then

这句是什么?VB里面有这么比较的吗?

If CDbl(shuliang) < n_nmb Then
If " & CDbl(shuliang) & " < "n_nmb" Then
这里没有一个变量,都是字符串,肯定是只有一个结果的呀
你本来就写了两个conn.Execute(SQL)语句,肯定是要执行两个了啊。
而且你写的sql语句感觉很乱。
要实现的功能应该是这样吧:
如果客户输入数量小于库存数量,那么去处客户需求数量,更新库存表,否则提示“库存量不足”?
LZ看是不是这个意思?
首先我认为你的写法就有问题
为什么不这么写啊
strsql = "select * from table"
strsql = strsql & " where 条件"
strsql = strsql & " order by ..."
这样一般不会出错的
然后是将sql语句输出来,在查询分析器中运行看看,是否正确
这样你才能检查出到底是那部分有问题
你这不成连接字符串了么

楼上正解
我先看一下 ,我刚到公司,以前没有用VB做过东西, 谢谢大家
我改成这个了,If CDbl(shuliang) < n_nmb Then

可一直执行 msgboxa  啊
你单步执行看不就知道问题在哪里了
你说一直执行Msgbox 
是不是你的代码放在了循环里面
而且需要的数量大于了库存数量
在if那设置断点,监测一下shuliang和n_nmb的值
msgbox在ELSE  和 END IF之间 
 并且需要的数量小于库存数量
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘