以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88475)

--  作者:青鸟
--  发布时间:2016/8/3 15:52:00
--  [求助]
请教,一段自动编号的代码,代码格式为:D-“年份”-0005(顺序号),获得相同年份最大编号的筛选条件如下:

Dim flt As String
flt = "\'SubString(Convert([下单日期],\'System.String\'),1,4) = \'"& y &"\' And [_Identify] <> " & Tables("订单").Current("_Identify")
msgbox(flt)
max = DataTables("订单").Compute("Max(订单ID)",flt) \'取得相同年份的最大订单号
msgbox(max)
If max = "" Then
    idx = 1 \'顺序号等于1
Else
    idx = CInt(max.SubString(1,5)) + 1
End If

txb.text = ddid & cstr(Format(idx,"00000"))

红色代码出错,提示:语法错误:“System”运算符后缺少操作数。

--  作者:cbt
--  发布时间:2016/8/3 16:09:00
--  
\'参考
Dim str As String
For Each dr As DataRow In DataTables("表C").Select("订单ID > \'\'","订单ID desc")
    If str <> dr("订单ID").SubString(2,4) Then
        str= dr("订单ID").SubString(2,4)
        output.show("最大订单:  " & dr("订单ID"))
        output.show(Format( dr("订单ID").SubString(7)+1,"0000"))
    End If
Next
[此贴子已经被作者于2016/8/3 16:11:27编辑过]

--  作者:大红袍
--  发布时间:2016/8/3 16:19:00
--  
 代码没问题,我测试没问题。