以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请问在哪里修改一下才不会出现提示  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194961)

--  作者:nbsugu_z
--  发布时间:2025/2/10 11:02:00
--  请问在哪里修改一下才不会出现提示
执行时出现如下提示:索引和长度必须引用该字符串内的位置。
参数名: length
我年份是4位,月份是2位



变量定义
Dim r1 As Integer = format(01, "00")

Dim zn As Integer \'总库年份
Dim zy As Integer \'总库月份
Dim dn As Integer \'当月年份
Dim dy As Integer \'当月月份

zn = Tables("wy_gt").Compute("Max(yy)") \'提取总库最大的年份
zy = Tables("wy_gt").Compute("Max(yy1)", "yy=" & zn) \'提取总库最大年份中的最大月份

zn = Tables("wy_gt").Compute("Max(yy)") \'提取当月库最大的年份
dn = Tables("wy_gt0").Compute("Max(yy)") \'提取当月最大年份中的最大月份
dy = Tables("wy_gt0").Compute("Max(yy1)", "yy=" & dn) \'年份 + 月份以整数计算

Dim cmd As New SQLCommand
Dim dt1 As Date
cmd.C
cmd.CommandText = "Select GetDate()"
dt1 = cmd.ExecuteScalar()
dt1 = dt1.Date
Dim year1 As Integer = dt1.Year
Dim month1 As Integer = dt1.Month

Dim xtrq As String = year1 & format(month1, "00") & Format (r1, "00")
Dim zny As String = zn & format(zy, "00") & Format (r1, "00")
Dim dny As String = dn & format(dy, "00") & Format (r1, "00")

Dim dx As Date = xtrq.SubString(0, 4) & "-" & xtrq.SubString(4, 2) & "-" & xtrq.SubString(6, 2)
Dim dz As Date = zny.SubString(0, 4) & "-" & zny.SubString(4, 2) & "-" & zny.SubString(6, 2)
Dim dd As Date = dny.SubString(0, 4) & "-" & dny.SubString(4, 2) & "-" & dny.SubString(6, 2)
[此贴子已经被作者于2025/2/10 11:02:54编辑过]

--  作者:有点蓝
--  发布时间:2025/2/10 11:18:00
--  
比如xtrq的字符个数小于4那么xtrq.SubString(0, 4) 就会出错,同理xtrq的字符个数小于6那么xtrq.SubString(4, 2)就会出错...

使用的需要判断一下字符长度是否足够