Foxtable(狐表)用户栏目专家坐堂 → 类别是中文转换拼音生成编号


  共有3192人关注过本帖树形打印复制链接

主题:类别是中文转换拼音生成编号

帅哥哟,离线,有人找我吗?
青丘狐
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:348 积分:2673 威望:0 精华:0 注册:2018/11/11 15:52:00
类别是中文转换拼音生成编号  发帖心情 Post By:2020/11/2 13:49:00 [只看该作者]

类别里有板材 转换成  BC 

型号有  HRB400E

规格里有  20*9米

编号转换成  BCHRB400E209M

 

请问怎么改写下面写代码老师可以帮助下吗?

 

Select e.DataCol.Name
    Case
"类别"
       
If e.DataRow.IsNull("类别") Then
            e.
DataRow("编号") = Nothing
        Else
            Dim
lb As String = e.DataRow("类别")
            If
e.DataRow("编号").StartsWith(lb) = False '如果单据编号前缀不符
               
Dim max As String
               
Dim idx As Integer

                max = e.DataTable.Compute("Max(编号)","类别 = '" & lb & "' And [_Identify] <> " & e.DataRow("_Identify")) '取得该类别的最大编号
               
If max > "" Then '如果存在最大编号
                    idx = CInt(max.Substring(
2,3)) + 1 '获得最大编号的后三位顺序号,并加1
               
Else
                    idx =
1 '否则顺序号等于1
               
End If
                e.
DataRow("编号") = lb & Format(idx,"000")
            End
If
        End
If
End
Select


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/2 14:01:00 [只看该作者]

这种不是序号的编号直接拼接即可

Select e.DataCol.Name
    Case
 "类别",
"型号","规格"
e.DataRow("编号") = PY.GetPY(e.DataRow("类别")True3) & e.DataRow("型号") & e.DataRow("规格")
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
青丘狐
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:348 积分:2673 威望:0 精华:0 注册:2018/11/11 15:52:00
  发帖心情 Post By:2020/11/2 15:01:00 [只看该作者]

规格 20*9米 中的 * 号删除   

 

 

 

Dim s As String = "规格"
s = s.Trim("*")

 

Select e.DataCol.Name
    Case
 "类别",
"型号","规格"
e.DataRow("编号") = PY.GetPY(e.DataRow("类别")True3) & e.DataRow("型号") & e.DataRow(S)
End Select
 
这样写没有效果

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/2 15:22:00 [只看该作者]

e.DataRow("编号") = PY.GetPY(e.DataRow("类别")True3) & e.DataRow("型号") & e.DataRow("规格").replace("*","")
[此贴子已经被作者于2020/11/2 16:09:11编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
青丘狐
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:348 积分:2673 威望:0 精华:0 注册:2018/11/11 15:52:00
  发帖心情 Post By:2020/11/2 16:03:00 [只看该作者]

.NET Framework 版本:4.0.30319.1
Foxtable 版本:2020.5.29.8
错误所在事件:表,货物名称设置,DataColChanged
详细错误信息:
Exception has been thrown by the target of an invocation.
Public member 'replce' on type 'String' not found.

 

代码不能通过

 

Select e.DataCol.Name

    Case "类别","规格","型号","牌号"
    e.DataRow("类别") = PY.GetPY(e.DataRow("型号"), True, 3) & e.DataRow("牌号") & e.DataRow("规格").replce("*","")
End Select

[此贴子已经被作者于2020/11/2 16:07:12编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/2 16:09:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
青丘狐
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:348 积分:2673 威望:0 精华:0 注册:2018/11/11 15:52:00
  发帖心情 Post By:2020/11/3 12:20:00 [只看该作者]

Select e.DataCol.Name

    Case "类别","规格","型号","牌号","产地"
    e.DataRow("编号") =PY.GetPY(e.DataRow("产地"), True, 3) & "-" &  PY.GetPY(e.DataRow("型号"), True, 3) & "-"  & e.DataRow("牌号") & "-" &  PY.GetPY(e.DataRow("规格").Replace("*","-"), True, 3)
End Select

 

可以了谢谢老师指导

[此贴子已经被作者于2020/11/3 12:20:28编辑过]

 回到顶部