以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  甜甜,筛选问题的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=50409)

--  作者:qianqian1530
--  发布时间:2014/5/6 14:39:00
--  甜甜,筛选问题的问题
甜甜老师,刚刚筛选的那个问题。
又出了新的问题,  如果不筛选的话, 可以正常 更新数据, 但 筛选后 更新数据的话,就会出错误··· 


以下内容是专门发给有点甜,Bin浏览



快递- 更新 -》不出错

快递- 操作 -配送中(筛选)》出错





--  作者:Bin
--  发布时间:2014/5/6 14:45:00
--  
项目没数据源打不开, 筛选出什么错? 错误提示截图看看
--  作者:qianqian1530
--  发布时间:2014/5/6 14:48:00
--  
··不应该没有数据啊?..   都是本地数据啊


不筛选的话可以正常更新, 就是筛选以后不能更新

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



--  作者:有点甜
--  发布时间:2014/5/6 14:48:00
--  
 测试没有出错啊,没有提示错误,什么错误?
--  作者:Bin
--  发布时间:2014/5/6 14:50:00
--  
点击显示详细信息,   把对应错误事件的代码发出来

你引用了超出索引的地方,增加一下判断就好了

--  作者:qianqian1530
--  发布时间:2014/5/6 14:50:00
--  
筛选以后就会有错误···
--  作者:qianqian1530
--  发布时间:2014/5/6 14:50:00
--  
.NET Framework 版本:2.0.50727.5477
Foxtable 版本:2014.3.7.1
错误所在事件:窗口,快递,Button2,Click
详细错误信息:
索引超出范围。必须为非负值并小于集合大小。
参数名: index


--  作者:Bin
--  发布时间:2014/5/6 14:54:00
--  
错误所在事件:窗口,快递,Button2,Click


代码发出来

--  作者:有点甜
--  发布时间:2014/5/6 14:59:00
--  

 这段代码错了,自己改一下

 

 e_Info.GetElementsByTagName("tr") 的个数,明明就只有 12 个

 

For sa= 2 To 100 Step 2
    If e_Info.GetElementsByTagName("tr").Count  =sa  Then
        Exit For
    Else
        Dim e_Info1 As System.Windows.Forms.HtmlElement = e_Info.GetElementsByTagName("tr")(sa).GetElementsByTagName("td")(0)
        Dim e_Info2 As System.Windows.Forms.HtmlElement = e_Info.GetElementsByTagName("tr")(sa).GetElementsByTagName("td")(1)
        Dim e_Info3 As System.Windows.Forms.HtmlElement = e_Info.GetElementsByTagName("tr")(sa).GetElementsByTagName("td")(2)
        Dim e_Info4 As System.Windows.Forms.HtmlElement = e_Info.GetElementsByTagName("tr")(sa).GetElementsByTagName("td")(3)
        Dim e_Info5 As System.Windows.Forms.HtmlElement = e_Info.GetElementsByTagName("tr")(sa).GetElementsByTagName("td")(4)
        r("状態発生日") = e_Info1.InnerText
        If e_Info2.InnerText & e_Info3.InnerText Like "お届け済み*"
            r("配送履歴") = "配達終了"
        Else
            r("配送履歴") = e_Info2.InnerText & e_Info3.InnerText
        End If
        r("取扱局") = e_Info4.InnerText
        Tables("詳しく").AddNew
        Tables("詳しく").Current("お問い合わせNo") =r("お問い合わせNo")
        Tables("詳しく").Current("状態発生日") = e_Info1.InnerText
        Tables("詳しく").Current("配送履歴") = e_Info2.InnerText & e_Info3.InnerText
        Tables("詳しく").Current("取扱局") = e_Info4.InnerText
        Tables("詳しく").Current("県名_国名") =e_Info5.InnerText
        Tables("詳しく").Current("URL") =r("URL")
    End If
Next


--  作者:有点甜
--  发布时间:2014/5/6 15:01:00
--  

 调试技巧

 

http://www.foxtable.com/help/topics/1485.htm