以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  应为标识符  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=135494)

--  作者:zahdddddd
--  发布时间:2019/5/28 10:26:00
--  应为标识符
Select Case e.DataCol.name
    Case "时间","委托部门代码"
        If dr.Isnull("时间") And dr.Isnull("委托部门代码")
            dr.("项目代码") = Nothing
        Else
            Dim d As Date = dr.("时间")
            Dim y As Integer =d.year
            Dim wtbmdm As String =dr.("委托部门代码")
            Dim bh As String = Format(d,"yyyy") & "-" & dr.("委托部门代码")
            If dr.("项目代码").startswith(bh)= False
                Dim max As String
                Dim idx As Integer
                max= e.DataTable.compute("max(项目代码)","时间 = # " & y & "#  and 委托部门代码 = \'"& wtbmdm &"\'  And [_Identify] <>" & dr.("_Identify"))
                If max > "" Then
                    idx = CInt(max.Substring(bh.length,3)) + 1
                Else idx= 1
                End If
                dr.("项目代码")= bh & "-" & Format(idx,"000")
            End If
        End If
        End If
End Select

--  作者:zahdddddd
--  发布时间:2019/5/28 10:28:00
--  
编译错误:应为标识符
错误代码:dr.(“项目代码”) = nothing

--  作者:y2287958
--  发布时间:2019/5/28 10:28:00
--  
dr(“项目代码”) = nothing
--  作者:zahdddddd
--  发布时间:2019/5/28 10:32:00
--  
谢谢
--  作者:有点甜
--  发布时间:2019/5/28 10:34:00
--  


Select Case e.DataCol.name
    Case "时间","委托部门代码"
        If dr.Isnull("时间") And dr.Isnull("委托部门代码")
            dr("项目代码") = Nothing
        Else
            Dim d As Date = dr("时间")
            Dim y As Integer =d.year
            Dim wtbmdm As String =dr("委托部门代码")
            Dim bh As String = Format(d,"yyyy") & "-" & dr("委托部门代码")
            If dr("项目代码").startswith(bh)= False
                Dim max As String
                Dim idx As Integer
                max= e.DataTable.compute("max(项目代码)","时间 = # " & y & "#  and 委托部门代码 = \'"& wtbmdm &"\'  And [_Identify] <>" & dr("_Identify"))
                If max > "" Then
                    idx = CInt(max.Substring(bh.length,3)) + 1
                Else idx= 1
                End If
                dr("项目代码")= bh & "-" & Format(idx,"000")
            End If
        End If
End Select

 

 


--  作者:zahdddddd
--  发布时间:2019/5/28 10:44:00
--  
老师:运行的时候又报错
调用的目标发生了异常。
该字符串未被识别为有效的 DateTime。


--  作者:有点甜
--  发布时间:2019/5/28 10:56:00
--  

Select Case e.DataCol.name
    Case "时间","委托部门代码"
        If dr.Isnull("时间") And dr.Isnull("委托部门代码")
            dr("项目代码") = Nothing
        Else
            Dim d As Date = dr("时间")
            d = new Date(d.year, 1, 1)
            Dim wtbmdm As String =dr("委托部门代码")
            Dim bh As String = Format(d,"yyyy") & "-" & dr("委托部门代码")
            If dr("项目代码").startswith(bh)= False
                Dim max As String
                Dim idx As Integer
                max= e.DataTable.compute("max(项目代码)","时间 >= # " & d & "# and 时间 < #" & d.AddYears(1) & "# and 委托部门代码 = \'"& wtbmdm &"\'  And [_Identify] <>" & dr("_Identify"))
                If max > "" Then
                    idx = CInt(max.Substring(bh.length+1,3)) + 1
                Else idx= 1
                End If
                dr("项目代码")= bh & "-" & Format(idx,"000")
            End If
        End If
End Select

[此贴子已经被作者于2019/5/28 10:56:15编辑过]

--  作者:zahdddddd
--  发布时间:2019/5/28 11:02:00
--  
啊啊啊,谢谢老师,可以了!!!,这是什么原因啊
--  作者:有点甜
--  发布时间:2019/5/28 12:04:00
--  
以下是引用zahdddddd在2019/5/28 11:02:00的发言:
啊啊啊,谢谢老师,可以了!!!,这是什么原因啊

 

日期请这样比较 http://www.foxtable.com/webhelp/scr/2720.htm