以文本方式查看主题

-  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=161633)

--  作者:xxfoxtable
--  发布时间:2021/3/24 21:43:00
--  报错语句
Dim h As String
Dim d As Date = #03/24/2021#
Dim d1 As Date = new Date(d.Year,1,1)
Dim d2 As Date = new Date(d.Year+1,1,1)
Dim max As String
Dim idx As Integer
Dim i As Integer
i="abc".length
max = DataTables("出库").sqlCompute("Max(单号)","日期 >=#" & d1 &"# And 日期 < #" & d2 &"# And left(单号,i)=\'abc\'")     \'取得该天的最大编号
If  max > "" Then \'如果存在最大编号
    idx = CInt(max.Substring(i,6)) + 1  \'获得最大编号的后三位顺序号,并加1
Else
    idx = 1 \'否则顺序号等于1
End  If
h = "abc"  & Format(idx,"000000")
msgbox(h)
老师这句话报错,And left(单号,i)=\'abc\' 加上报错,去掉就不报错了, 这样写不行吗?

--  作者:有点蓝
--  发布时间:2021/3/25 8:22:00
--  
max = DataTables("出库").sqlCompute("Max(单号)","日期 >=#" & d1 &"# And 日期 < #" & d2 &"# And left(单号,3)=\'abc\'")  
--  作者:xxfoxtable
--  发布时间:2021/3/25 8:54:00
--  
 i不是固定值,如果是固定值,我就按你这样写了,不会写i了,这只是个例子
[此贴子已经被作者于2021/3/25 8:54:29编辑过]

--  作者:有点蓝
--  发布时间:2021/3/25 8:57:00
--  
And left(单号,3)=\'abc\'")  

如果后面的abc是固定值,那么这个3肯定也是固定值。要么2个都不是固定值

And left(单号," & i & ")=\'" & 某个变量值 & "\'")