以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  狐爸帮忙解释一下  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=20292)

--  作者:YDS
--  发布时间: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编辑过]

--  作者:lihe60
--  发布时间:2012/6/4 10:28:00
--  
传附件。
--  作者:YDS
--  发布时间:2012/6/4 10:32:00
--  
SQL的数据库,传附件没有用的
--  作者:lihe60
--  发布时间:2012/6/4 10:35:00
--  
sql导到access,再不行的话,只有你自己慢慢解决了。
--  作者:YDS
--  发布时间:2012/6/4 10:37:00
--  
以下是引用lihe60在2012-6-4 10:35:00的发言:
sql导到access,再不行的话,只有你自己慢慢解决了。

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


--  作者:lihe60
--  发布时间:2012/6/4 10:39:00
--  
别人想帮你,但不知这个代码放到哪里去的。
--  作者:lihe60
--  发布时间:2012/6/4 10:43:00
--  
Dim dr As DataRow = DataTables("包装").Find("时间 = #" & t & "# And 产品名称 = \'" & cp & "\'")

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

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


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

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


--  作者:lihe60
--  发布时间:2012/6/4 10:48:00
--  
怎么没有数据?