Foxtable(狐表)用户栏目专家坐堂 → 狐爸帮忙解释一下


  共有8900人关注过本帖树形打印复制链接

主题:狐爸帮忙解释一下

帅哥哟,离线,有人找我吗?
YDS
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:628 积分:3594 威望:0 精华:0 注册:2011/5/21 18:05:00
狐爸帮忙解释一下  发帖心情 Post By:2012/6/4 10:26:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

这个是神马情况?

 

 问题已经解决,把and 改成AndAlso 就可以了,但是这是为什么呢?

 

DataTables("包装").load()
DataTables("包装").DeleteFor("[完成数量] = 0")
Dim t As Date  = e.Form.Controls("时间").Value
Dim cp As String = e.Form.Controls("产品名称").Value
Dim sl As Double = e.Form.Controls("完成数量").Value
Dim dr As DataRow = DataTables("包装").Find("时间 = '" & t & "' And 产品名称 = '" & cp & "'")
If dr IsNot Nothing And dr("完成数量") + sl >= 0 Then
    dr("完成数量") = dr("完成数量") + sl
    e.Form.Controls("完成数量").Value = Nothing
ElseIf dr Is Nothing  And sl > 0 Then
    dr = DataTables("包装").AddNew()
    dr("时间") = t
    dr("产品名称") = cp
    dr("完成数量") = sl
    e.Form.Controls("完成数量").Value = Nothing
Else
    MessageBox.Show("请检查下单数量是否正确!","温馨提示")
    e.Form.Controls("完成数量").Value = Nothing
End If
DataTables("包装").Save()

 

 

上述代码换成下面就没有问题

 

DataTables("包装").load()
DataTables("包装").DeleteFor("[完成数量] = 0")
Dim t As Date  = e.Form.Controls("时间").Value
Dim cp As String = e.Form.Controls("产品名称").Value
Dim sl As Double = e.Form.Controls("完成数量").Value
Dim dr As DataRow

if sl > 0 Then
    dr = DataTables("包装").AddNew()
    dr("时间") = t
    dr("产品名称") = cp
    dr("完成数量") = sl
    e.Form.Controls("完成数量").Value = Nothing
Else
    MessageBox.Show("请检查下单数量是否正确!","温馨提示")
    e.Form.Controls("完成数量").Value = Nothing
End If
DataTables("包装").Save()

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb

[此贴子已经被作者于2012-6-4 11:14:18编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
YDS
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:628 积分:3594 威望:0 精华:0 注册:2011/5/21 18:05:00
  发帖心情 Post By:2012/6/4 10:32:00 [显示全部帖子]

SQL的数据库,传附件没有用的

 回到顶部
帅哥哟,离线,有人找我吗?
YDS
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:628 积分:3594 威望:0 精华:0 注册:2011/5/21 18:05:00
  发帖心情 Post By:2012/6/4 10:37:00 [显示全部帖子]

以下是引用lihe60在2012-6-4 10:35:00的发言:
sql导到access,再不行的话,只有你自己慢慢解决了。

我贴出来的两段代码麻烦看下,第一段出问题,第二段就没有问题的


 回到顶部
帅哥哟,离线,有人找我吗?
YDS
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:628 积分:3594 威望:0 精华:0 注册:2011/5/21 18:05:00
  发帖心情 Post By:2012/6/4 10:44:00 [显示全部帖子]

以下是引用lihe60在2012-6-4 10:43:00的发言:
Dim dr As DataRow = DataTables("包装").Find("时间 = #" & t & "# And 产品名称 = '" & cp & "'")

非常感谢,我做了个例子,麻烦你看下


 回到顶部
帅哥哟,离线,有人找我吗?
YDS
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:628 积分:3594 威望:0 精华:0 注册:2011/5/21 18:05:00
  发帖心情 Post By:2012/6/4 10:45:00 [显示全部帖子]

以下是引用lihe60在2012-6-4 10:43:00的发言:
Dim dr As DataRow = DataTables("包装").Find("时间 = #" & t & "# And 产品名称 = '" & cp & "'")

不是这里的问题  日期# #  ''  都可以的,我试了


 回到顶部
帅哥哟,离线,有人找我吗?
YDS
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:628 积分:3594 威望:0 精华:0 注册:2011/5/21 18:05:00
  发帖心情 Post By:2012/6/4 10:49:00 [显示全部帖子]

以下是引用lihe60在2012-6-4 10:48:00的发言:
怎么没有数据?

本来就没有数据的,刚做的,还没有没有做好怎么录入啊!


 回到顶部
帅哥哟,离线,有人找我吗?
YDS
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:628 积分:3594 威望:0 精华:0 注册:2011/5/21 18:05:00
  发帖心情 Post By:2012/6/4 11:06:00 [显示全部帖子]

以下是引用lihe60在2012-6-4 10:58:00的发言:
Dim dr As DataRow = DataTables("包装").Find("时间 = #" & t & "# And 产品名称 = '" & cp & "'")
If dr IsNot Nothing AndAlso dr("完成数量") + sl >= 0 Then
[此贴子已经被作者于2012-6-4 10:59:55编辑过]

非常感谢 把and 改成AndAlso 就可以了,这是为什么呢?


 回到顶部
帅哥哟,离线,有人找我吗?
YDS
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:628 积分:3594 威望:0 精华:0 注册:2011/5/21 18:05:00
  发帖心情 Post By:2012/6/4 11:17:00 [显示全部帖子]

以下是引用lihe60在2012-6-4 11:15:00的发言:

AndAlso先计算左边表达式的值,如果计算结果为False,则直接返回False,不再计算右边表达式的值。

这个我知道的啊。但是我一直判断都用的and,也没有过错误啊,这里为什么不行!


 回到顶部