以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 增加数据出错 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=145997) |
|
-- 作者:裴保民 -- 发布时间:2020/2/13 19:35:00 -- 增加数据出错 Dim dt As DataTable = DataTables("收支交易流水") Dim max As String Dim idx As Integer Dim xrq As String = Format(Date.Today,"yyyyMMdd") Dim max As String max = dt.Compute("Max(单号)","单号 like \'HD & xrq & %\'") If max > "" Then \'如果存在最大编号 idx = CInt(max1.SubString(10)) + 1 \'获得最大编号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If For Each dr1 As DataRow In dt.Select("单号 is null") Dim str As String = "HD" & xrq & Format(idx,"0000") Dim fdr As DataRow = dt.find("单号 =\'" & str & "\'") If fdr Is Nothing dr1("单号") = str End If idx += 1 Next 代码哪有问题?自动编号为什么隔一行已添加呢
[此贴子已经被作者于2020/2/13 19:59:37编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2020/2/14 9:01:00 -- For Each dr1 As DataRow In dt.Select("单号 is null") Dim str As String = "HD" & xrq & Format(idx,"0000") dr1("单号") = str idx += 1 Next
|
|
-- 作者:裴保民 -- 发布时间:2020/2/14 9:24:00 -- 单号不自动编号,都是一个号 Dim dt As DataTable = DataTables("收支交易流水") Dim max As String Dim idx As Integer Dim xrq As String = Format(Date.Today,"yyyyMMdd") max = dt.Compute("Max(SZJYLSID)","SZJYLSID like \'SZJYLS%\'") If max > "" Then \'如果存在最大编号 idx = CInt(max.SubString(6)) + 1 \'获得最大编号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If For Each dr As DataRow In dt.Select("SZJYLSID is null") Dim str As String = "SZJYLS" & Format(idx,"000000") Dim fdr As DataRow = dt.find("SZJYLSID= \'" & str & "\'") If fdr Is Nothing dr("SZJYLSID") = str End If idx += 1 Next dt.Save Dim max1 As String max1 = dt.Compute("Max(单号)","单号 like \'HD & xrq & %\'") 是不是这段代码的问题呀? If max1 > "" Then \'如果存在最大编号 idx = CInt(max1.SubString(10)) + 1 \'获得最大编号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If For Each dr1 As DataRow In dt.Select("单号 is null") Dim str As String = "HD" & xrq & Format(idx,"0000") \'Dim fdr As DataRow = dt.find("单号 =\'" & str & "\' And [_Identify] <> " & e.DataRow("_Identify")) \'If fdr Is Nothing dr1("单号") = str \' End If idx += 1 Next 同样的代码SZJYLSID自动都能自动编号 [此贴子已经被作者于2020/2/14 9:32:10编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2020/2/14 9:36:00 -- Dim max1 As String max1 = dt.Compute("Max(单号)","单号 like \'HD & xrq & %\'") 是不是这段代码的问题呀? msgbox(max1) If max1 > "" Then \'如果存在最大编号 idx = CInt(max1.SubString(10)) + 1 \'获得最大编号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If msgbox( idx ) For Each dr1 As DataRow In dt.Select("单号 is null") Dim str As String = "HD" & xrq & Format(idx,"0000") msgbox( str ) \'Dim fdr As DataRow = dt.find("单号 =\'" & str & "\' And [_Identify] <> " & e.DataRow("_Identify")) \'If fdr Is Nothing dr1("单号") = str \' End If idx += 1 Next
|
|
-- 作者:裴保民 -- 发布时间:2020/2/14 9:44:00 -- 第一次 第二次 第三次 如果放到“SZJYLSID”字段上运行是正确的 第一次 第三次 [此贴子已经被作者于2020/2/14 9:49:56编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2020/2/14 9:56:00 -- max1 = dt.Compute("Max(单号)","单号 like \'HD" & xrq & "%\'") |
|
-- 作者:裴保民 -- 发布时间:2020/2/14 10:59:00 -- max1 = dt.Compute("Max(单号)","单号 like \'HD" & xrq & "%\'")蓝老师这句代码如果 不加“HD”怎么写呀? 我是这样写的max1 = dt.Compute("Max(单号)","单号 like \' " & xrq & "%\'") 怎么老是错呀?
[此贴子已经被作者于2020/2/14 10:59:35编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2020/2/14 11:07:00 -- max1 = dt.Compute("Max(单号)","单号 like \'" & xrq & "%\'") |
|
-- 作者:裴保民 -- 发布时间:2020/2/14 11:27:00 -- max = DataTables("收支交易流水").Compute("Max(单号)","单号 like \'" & bh & "%\'") msgbox(max) 就是按您的格式写的还是无数据 [此贴子已经被作者于2020/2/14 11:27:42编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2020/2/14 11:32:00 --
|