Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
If e.DataCol.Name = "时间" Then '如果更改的是身份证号码列
If e.DataRow.IsNull("时间") Then '身份证号码是否为空
e.DataRow("编号") = Nothing '如果为空,则清除出生日期
Else
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT Max(编号) From {编号1} Where 时间 =#" & e.DataRow("时间") & "#"
dt = cmd.ExecuteReader()
If dt.Datarows.Count> 0 Then
e.DataRow("编号") = Format(e.DataRow("时间"),"yyMMdd") & Format(e.DataTable.Compute("Count(时间)","时间= #" & e.DataRow("时间") & "# ") & "'"),"000")
End If
End If
End If
后台已经有1 2 3三个连续编号,同一天,然后打开系统再次编号,编号还是从1开始,这个代码错在哪儿?
e.DataRow("编号") = Format(e.DataRow("时间"),"yyMMdd") & Format(e.DataTable.Compute("Count(时间)","时间= #" & e.DataRow("时间") & "# ") & "'"),"000")
应该改为:
e.DataRow("编号") = Format(e.DataRow("时间"),"yyMMdd") & Format(dt.Datarow(0)("编号1") + 1,"000")
搞定了: 按照老大做发,始终是第一行+1而已.
If e.DataCol.Name = "时间" Then '如果更改的是身份证号码列 If e.DataRow.IsNull("时间") Then '身份证号码是否为空 e.DataRow("编号") = Nothing '如果为空,则清除出生日期 Else Dim cmd As New SQLCommand Dim dt As DataTable cmd.C cmd.CommandText = "SELECT * From {编号1} Where 时间 = #" & e.NewValue & "#" dt = cmd.ExecuteReader() If dt.Datarows.Count> 0 Then e.DataRow("编号") = Format(dt.Compute("Max(编号)") + 1,"000") Else e.DataRow("编号") = Format(e.DataRow("时间"),"yyMMdd") & "001" End If End If End If