以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]必须为非负值并小于集合大小  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=140152)

--  作者:洮沙
--  发布时间:2019/8/30 14:29:00
--  [求助]必须为非负值并小于集合大小

有窗口菜单:

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


 

打开后,第一次点击菜单中“一键统计”,能够正常执行:

 


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


 

如果第二次点击“一键统计”,出现如下错误:

 


图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

 

菜单中“一键统计”代码如下:

Dim sfz As String = e.Form.Controls("ComboBox1").text
        If sfz = "" Then
            MessageBox.Show("【批号】为空,请重新录入!","提示")
            Return
        End If
        Dim dr1 As DataRow
        dr1 = DataTables("入库总表").SQLFind("批号 = \'" & sfz & "\'And 过账 = 1")
        If dr1 IsNot Nothing Then
            MessageBox.Show("已【过账】入库总表,不允许修改!","提示")
            Return
        Else
            DataTables("入库总表").deletefor("批号 = \'" & sfz & "\'") ’好像问题出在这一句上了
        End If
       
        For Each nm As String In DataTables("入库明细表").SQLGetValues("产品代码","产量合计 > 0  and 批号 = \'" & sfz & "\'")
            Dim dr As DataRow = DataTables("入库总表").AddNew()
            dr("批号") = sfz
            dr("产品代码") = nm
            dr("产量合计") = DataTables("入库明细表").sqlCompute("Sum(产量合计)","[产品代码] = \'" & dr("产品代码") & "\'and [批号] = \'" & sfz & "\'")
        Next
        Dim Result As DialogResult
        Result = MessageBox.Show("已【重算】是否保存?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
        If Result = DialogResult.Yes Then
            DataTables("入库总表").Save()
        Else
            DataTables("入库总表").RejectChanges()
        End If

 

请老师帮忙看一下,哪里出错了,谢谢!


 

[此贴子已经被作者于2019/8/30 14:48:50编辑过]

--  作者:有点蓝
--  发布时间:2019/8/30 14:51:00
--  
这个是bug,等待新版修复
--  作者:洮沙
--  发布时间:2019/8/30 14:55:00
--  
以下是引用有点蓝在2019/8/30 14:51:00的发言:
这个是bug,等待新版修复

哪怎么办呢?图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2019/8/30 15:08:00
--  
这个2天就有新版发布了
--  作者:洮沙
--  发布时间:2019/8/30 15:19:00
--  回复:(有点蓝)这个2天就有新版发布了

我将 DataTables("入库总表").deletefor("批号 = \'" & sfz & "\'") ’好像问题出在这一句上了

 

 

修改如下(正常了):

 

 DataTables("入库总表").sqldeletefor("批号 = \'" & sfz & "\'")
 DataTables("入库总表").RemoveFor("批号 = \'" & sfz & "\'")

          

[此贴子已经被作者于2019/8/30 15:22:58编辑过]

--  作者:有点蓝
--  发布时间:2019/8/30 16:02:00
--  
新版已发布,更新试试