以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- Date.Now自动生成的时间格式是DateTime,根据Date短日期自动生成编号,请问如何让新生编号不会冲突? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104576) |
-- 作者:bbgg945 -- 发布时间:2017/8/1 11:40:00 -- Date.Now自动生成的时间格式是DateTime,根据Date短日期自动生成编号,请问如何让新生编号不会冲突? 表中Date.Now自动生成的时间格式是DateTime,忽略时间,只根据Date短日期自动生成编号 请问如何让新生编号不会冲突呢? 出库单_DataColChanged
If e.DataCol.Name
= "部门" Then \'如果更改的是身份证号码列 If e.DataRow.IsNull("部门") Then \'身份证号码是否为空 e.DataRow("出库日期") = Nothing \'如果为空,则清除出生日期 ElseIf e.DataRow("出库单号") =
Nothing AndAlso e.DataRow("出库日期")
= Nothing \'否则从身份证号码列中提取出生日期 e.DataRow("出库日期") = Date.Now End If End If If e.DataCol.Name
= "出库日期" Then If e.DataRow.IsNull("出库日期") Then e.DataRow("出库单号") = Nothing ElseIf e.DataRow("出库单号") =
Nothing Then Dim bh As String =
Format(e.DataRow("出库日期"),"yyyyMMdd") \'取得编号的8位前缀
If e.DataRow("出库单号").StartsWith(bh)
= False \'如果编号的前8位不符 Dim max As String Dim idx As Integer max =
e.DataTable.Compute("Max(出库单号)","出库日期 = #" &
e.DataRow("出库日期") & "# And [_Identify] <> " &
e.DataRow("_Identify")) \'取得该天的最大编号 If max > "" AndAlso
max.Length >= bh.Length +3 Then \'如果存在最大编号 idx =
CInt(max.Substring(bh.Length+1,3)) + 1 \'获得最大编号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If e.DataRow("出库单号") = bh
& "-" & Format(idx,"000") End If End If End If [此贴子已经被作者于2017/8/1 11:50:07编辑过]
|
-- 作者:有点甜 -- 发布时间:2017/8/1 12:45:00 --
[此贴子已经被作者于2017/8/1 12:46:16编辑过]
|
-- 作者:有点甜 -- 发布时间:2017/8/1 12:48:00 -- max = e.DataTable.Compute("Max(出库单号)","出库日期 = #" & e.DataRow("出库日期") & "# And [_Identify] <> " & e.DataRow("_Identify")) \'取得该天的最大编号 改成
max = e.DataTable.Compute("Max(出库单号)","出库单号 like \'" & bh & "%\' And [_Identify] <> " & e.DataRow("_Identify")) \'取得该天的最大编号 |
-- 作者:bbgg945 -- 发布时间:2017/8/1 17:40:00 -- 谢谢老师,一般情况下是没问题了。 如果删除过订单,就有可能出现以下提示: .NET Framework 版本:2.0.50727.8669 Foxtable 版本:2017.6.12.1 错误所在事件: 详细错误信息: 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。 请问这种问题应该怎么处理呢? |
-- 作者:有点甜 -- 发布时间:2017/8/1 17:47:00 -- 一般表数据是不需要删除的。更不能是频繁删除。
如果提示4楼的错误,建议你删除关联设置,重新设置一遍。 |
-- 作者:bbgg945 -- 发布时间:2017/8/1 18:37:00 -- 重新设置一遍?您是指? |
-- 作者:有点蓝 -- 发布时间:2017/8/1 20:03:00 -- 删除和这个表有关的表关联,然后重新创建 |
-- 作者:bbgg945 -- 发布时间:2017/8/1 20:36:00 -- 老师,请问这样做的原因是什么呢? |
-- 作者:有点蓝 -- 发布时间:2017/8/1 21:14:00 -- 频繁删除,新增数据,父子表没有进行关联同步的处理,可能会导致关联出错 |