Foxtable(狐表)用户栏目专家坐堂 → [求助]FORMAt位数


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

主题:[求助]FORMAt位数

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
[求助]FORMAt位数  发帖心情 Post By:2018/3/18 23:07:00 [显示全部帖子]

老师,

   Output.Show(Format(1,"000"))
如果我知道一行数据可能是位数不固定怎么写,如最后一个会计科目 可能是 1001 也可能是下级  100101
例如、
Dim dr As  DataRow=DataTables("Main").Find("公司='111'","科目 desc")
If dr IsNot Nothing
Dim dr1 As DataRow=DataTables("Main").AddNew
  dr1("科目")=Format(val(dr("科目"))+1,"0000")‘   这块是1001的 如果变成100101 就得写成 Format(val(dr("科目"))+1,"000000")‘  怎么能不变应付万变
End If

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2018/3/20 21:22:00 [显示全部帖子]

老师,
想要得到结果 "lr0102"
下列代码得到 lr10121
应该怎么写

  Dim s1 As String ="lr0101"
Dim s3 As String=s1.SubString(0,2) & Format(val(s1.SubString(3))+1,s1.SubString(3).PadLEFT(s1.Length-2,"0"))
Output.Show(s3)

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2018/3/20 22:18:00 [显示全部帖子]

老师,
   正常这样写没问题dr1("id").SubString(0,2) & cstr((val(dr1("id").SubString(3)) + 1)).PadLEFT(dr1("id").Length-2,"0")
但是放到自定义函数中怎么写也不对 应该怎么写


str &= "dr1(""id"")=dr1(""id"").SubString(0,2) & cstr((val(dr1(""id"").SubString(3)) + 1)).PadLEFT(dr1(""id"").Length-2,""0"") & vbcrlf
Functions.remove("test")
Functions.Add("test",str)
Functions.Complie()
Functions.Execute("test",e)


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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2018/3/20 22:27:00 [显示全部帖子]


[此贴子已经被作者于2018/3/21 8:40:55编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2018/3/20 23:57:00 [显示全部帖子]

老师
不是报错是想知道5楼合成字符串怎么写

   正常这样写没问题
dr1("id").SubString(0,2) & cstr((val(dr1("id").SubString(3)) + 1)).PadLEFT(dr1("id").Length-2,"0")
例如是
"LR" & "0102"
但是放到自定义函数中 & 还有 % 什么的,& 本来就是连接符,怎么能变成字符,怎么写也不对 应该怎么写


str &= "dr1(""id"")=dr1(""id"").SubString(0,2) & cstr((val(dr1(""id"").SubString(3)) + 1)).PadLEFT(dr1(""id"").Length-2,""0"") & vbcrlf
Functions.remove("test")
Functions.Add("test",str)
Functions.Complie()
Functions.Execute("test",e)


例如 这样写 也不对

str &= "dr2("id")=dr1("id").SubString(0,2) & "&" & cstr((val(dr1("id").SubString(3)) + 1)).PadLEFT(dr1("id").Length-2,"0") & vbcrlf

[此贴子已经被作者于2018/3/21 8:56:02编辑过]

 回到顶部