以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]自动编号 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=139333)
|
-- 作者:huangjiacai
-- 发布时间:2019/8/11 17:19:00
-- [求助]自动编号
如图,我想在“一级科目”是“人工成本”的时候“一级科目编号”是“001”,“一级科目”是“行政管理费用”的时候“一级科目编号”是“002”,“一级科目”是“收费业务费用”的时候“一级科目编号”是“003”,以此类推,如何通过代码自动实现呢,求助大神。 此主题相关图片如下:1.jpg
|
-- 作者:有点蓝
-- 发布时间:2019/8/11 20:49:00
--
datacolchanged事件
if e.datacol.name = "一级科目" then select case e.datarow("一级科目") case "人工成本" e.datarow("一级科目编号") = "001" case "行政管理费用" e.datarow("一级科目编号") = "002" end select end if
|
-- 作者:huangjiacai
-- 发布时间:2019/8/12 0:48:00
--
老师,这种代码在每次新增了新的不同的科目的时候都要更新代码,有没有不用经常更新代码的办法呢,这种代码实际应用的时候可行性应该通不过,求教。
|
-- 作者:有点蓝
-- 发布时间:2019/8/12 8:27:00
--
新建一个表专门存储科目和编码的对应。通过查表获取编码
|
-- 作者:huangjiacai
-- 发布时间:2019/8/12 8:39:00
--
这样的话,我里面有三级科目,就得建3个表,每个表单独对应一二三级科目的编码,然后直接以行号作为编码,是这样理解么?
|
-- 作者:有点蓝
-- 发布时间:2019/8/12 8:42:00
--
可以使用一个表,用一个级别列区分不同的科目类型即可
|
-- 作者:huangjiacai
-- 发布时间:2019/8/13 8:09:00
--
如果我没理解错的话应该是这样的吧,具体代码要如何实现呢,求助。 此主题相关图片如下:3.jpg
|
-- 作者:有点蓝
-- 发布时间:2019/8/13 9:00:00
--
例如
datacolchanged事件
if e.datacol.name = "一级科目" then dim dr as datarow = datatables("字典表").find("类别=‘一级科目’ and 名称 =\'" & e.datarow("一级科目") & "\'") if dr isnot nothing then e.datarow("一级科目编号") = dr("编码") end if end if
|
-- 作者:huangjiacai
-- 发布时间:2019/8/13 10:01:00
--
谢谢老师,不过我问的是“编码”列的“001”,“002”,“SF”等要如何自动生成
|
-- 作者:有点蓝
-- 发布时间:2019/8/13 10:06:00
--
这种字典类的数据一般没多少,手工录入就行了。何况这个编码有规律吗?
|