以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  错误提示  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=117862)

--  作者:ryubo888
--  发布时间:2018/4/20 8:45:00
--  错误提示
.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2018.3.3.1
错误所在事件:菜单,增加,Click
详细错误信息:
Index and length must refer to a location within the string.
Parameter name: length

Forms("基础资料").Controls("页签").SelectedIndex = 0
Dim r  As Row  = Tables("基础资料").AddNew
Dim pg As WinForm.TabControl = Forms("基础资料").Controls("页签")
Dim n  As String = pg.SelectedPage.Text
If n = "全部" Or n = "登记表打印" Or n =  "从业证打印"  Then
    r("培训类别") = "从业人员"
Else
    r("培训类别") = n
End If
\'---------以下是自动生成工号--------------------------
Dim ia As String = DataTables("基础资料").Compute("max(序号)")
Dim idxa As Integer
If ia > "" Then
    idxa = cint(ia.SubString(0,4)) +1
Else
    idxa =1
End If
CurrentTable.Current("序号") = ForMAT(idxa,"0000")
\'-------以上是自动生成工号-----------------------------
Forms("人员增加").open
Functions.Execute("外部刷新分类栏")
CurrentTable.TopVisibleRow = CurrentTable.rows.count - 1  \'保证第一行可见
CurrentTable.LeftVisibleCol = 0   \'保证第一列可见

以前还能使用,这段时间就修改列属性数值不是唯一,结果就出现了错误提示,请大神帮忙。万分感谢!!!


--  作者:有点甜
--  发布时间:2018/4/20 9:25:00
--  

加入msgbox定位出错位置。

 

http://www.foxtable.com/webhelp/scr/1485.htm

 

一般是这句代码出错 idxa = cint(ia.SubString(0,4)) +1

 

当你的ia的值小于4个字符的时候,就会出错。


--  作者:ryubo888
--  发布时间:2018/4/20 12:32:00
--  
自动生成的序号出问题了
Dim ia As String = DataTables("基础资料").Compute("max(序号)")
这个返回的值就不对了,是" b "
我的序号中全是0001-2200这类的怎么返回的是 b 呢 

--  作者:有点甜
--  发布时间:2018/4/20 14:38:00
--  

在你的基础资料表,对序号列排序,然后看看是否有异常数据,将其删除。

 


--  作者:ryubo888
--  发布时间:2018/4/20 14:48:00
--  
谢谢基础太差了见笑了