以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教高手这个自动输入的公式怎么编写?(已解决) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=10146) |
||||
-- 作者:YDS -- 发布时间:2011/5/23 12:17:00 -- 请教高手这个自动输入的公式怎么编写?(已解决)
如图所示,我想做的效果是我在产品型号输入以后,产品的编码会根据我的输入自动填入。
规则如下: 1.产品编码要求16位 2.产品编码首位为0 3.产品编码后四位为0 4.产品编码第二位对应产品型号前两位或者前三位,如产品编码前两位为II ,则产品编码第二位为2,如产品型号前三位为III,则产品编码第二位为3 5.产品型号I后面第一位对应编码第三位,关系如下:A=1,B=2,C=3,D=4 6.产品型号I后面第二位对应编码第四位,关系如下:c=1,j=2 7.产品型号的X符号前的数字前面加0补够四位写入产品编码五到八位 8.产品型号的X符号后的数字前面加0补够四位写入产品编码九到十二位
新规则如下: 1.产品编码要求16位 2.产品编码首位为0 3.产品编码后四位为0 4.产品编码第二位对应产品型号前两位,如产品编码前两位为II ,则产品编码第二位为2 5.产品型号I后面第一位对应编码第三位,关系如下:A=1, 6.产品型号I后面第二位对应编码第四位,关系如下:c=1,j=2 7.产品型号的X符号前的数字前面加0补够四位写入产品编码五到八位 8.产品型号的X符号后的数字前面加0补够四位写入产品编码九到十二位
这样是不是要好些点呢,那位高手给个参考也好啊!
忽忽,要求有点多,大家见谅,请高手出马,或者给我个大概的思路也好!
[此贴子已经被作者于2011-6-13 8:53:38编辑过]
|
||||
-- 作者:mr725 -- 发布时间:2011/5/23 12:38:00 -- 我从第6点开始就看晕了,你把它们分隔开来对应吧,这样看的更清楚些。。
你应把 IIIAJ22X10 录入成 => III AJ 22 X 10 (里面空格用分隔符也可以。)这样就简单了。
另外: 5.产品型号I后面第一位对应编码第三位,关系如下:A=1,B=2,C=3,D=4 ***只有A/B/C/D? 后面还有E/F/G.... 吗??? 6.产品型号I后面第二位对应编码第四位,关系如下:c=1,j=2 ***同上
还有 产品型号中有个31.8 有什么要求呢。 [此贴子已经被作者于2011-5-23 12:38:54编辑过]
|
||||
-- 作者:YDS -- 发布时间:2011/5/23 13:59:00 -- 以下是引用mr725在2011-5-23 12:38:00的发言:
我从第6点开始就看晕了,你把它们分隔开来对应吧,这样看的更清楚些。。
你应把 IIIAJ22X10 录入成 => III AJ 22 X 10 (里面空格用分隔符也可以。)这样就简单了。
另外: 5.产品型号I后面第一位对应编码第三位,关系如下:A=1,B=2,C=3,D=4 ***只有A/B/C/D? 后面还有E/F/G.... 吗??? 6.产品型号I后面第二位对应编码第四位,关系如下:c=1,j=2 ***同上
还有 产品型号中有个31.8 有什么要求呢。
你好,现在的情况是产品型号已经有了,要根据产品型号生成产品编号。产品型号中的31.8是个别产品的要求!
另外: 5.产品型号I后面第一位对应编码第三位,关系如下:A=1,B=2,C=3,D=4 ***只有A/B/C/D? 后面还有E/F/G.... 吗??? 6.产品型号I后面第二位对应编码第四位,关系如下:c=1,j=2 ***同上
这里的情况我已经全部列出来了,请问可以解决吗? [此贴子已经被作者于2011-5-23 12:38:54编辑过] [此贴子已经被作者于2011-5-23 13:59:28编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/5/23 14:28:00 -- 大家先研究,我有空再看,现在比较忙。 |
||||
-- 作者:mr725 -- 发布时间:2011/5/23 15:20:00 -- 以下是引用YDS在2011-5-23 13:59:00的发言:
5.产品型号I后面第一位对应编码第三位,关系如下:A=1,B=2,C=3,D=4 ***只有A/B/C/D? 后面还有E/F/G.... 吗??? 6.产品型号I后面第二位对应编码第四位,关系如下:c=1,j=2 ***同上 即没有 k=3、m=4的情况吗???
这里的情况我已经全部列出来了,请问可以解决吗? [此贴子已经被作者于2011-5-23 12:38:54编辑过] 你没有回答上面粉红字的问题!!! |
||||
-- 作者:blackzhu -- 发布时间:2011/5/23 15:48:00 -- 就是你那个如果是死的还行,如果不是有规律的怎么做? |
||||
-- 作者:YDS -- 发布时间:2011/5/23 18:06:00 -- 以下是引用mr725在2011-5-23 15:20:00的发言:
5.产品型号I后面第一位对应编码第三位,关系如下:A=1,B=2,C=3,D=4 ***只有A/B/C/D? 后面还有E/F/G.... 吗??? 没有了 6.产品型号I后面第二位对应编码第四位,关系如下:c=1,j=2 ***同上 即没有 k=3、m=4的情况吗??? 也没用了
这里的情况我已经全部列出来了,请问可以解决吗? [此贴子已经被作者于2011-5-23 12:38:54编辑过] 你没有回答上面粉红字的问题!!! |
||||
-- 作者:YDS -- 发布时间:2011/5/23 23:24:00 -- 以下是引用YDS在2011-5-23 12:17:00的发言:
如图所示,我想做的效果是我在产品型号输入以后,产品的编码会根据我的输入自动填入。
规则如下: 1.产品编码要求16位 2.产品编码首位为0 3.产品编码后四位为0 4.产品编码第二位对应产品型号前两位或者前三位,如产品编码前两位为II ,则产品编码第二位为2,如产品型号前三位为III,则产品编码第二位为3 5.产品型号I后面第一位对应编码第三位,关系如下:A=1,B=2,C=3,D=4 6.产品型号I后面第二位对应编码第四位,关系如下:c=1,j=2 7.产品型号的X符号前的数字前面加0补够四位写入产品编码五到八位 8.产品型号的X符号后的数字前面加0补够四位写入产品编码九到十二位
修改下要求,各位看看可以编写代码不?
新规则如下: 1.产品编码要求16位 2.产品编码首位为0 3.产品编码后四位为0 4.产品编码第二位对应产品型号前两位,如产品编码前两位为II ,则产品编码第二位为2 5.产品型号I后面第一位对应编码第三位,关系如下:A=1, 6.产品型号I后面第二位对应编码第四位,关系如下:c=1,j=2 7.产品型号的X符号前的数字前面加0补够四位写入产品编码五到八位 8.产品型号的X符号后的数字前面加0补够四位写入产品编码九到十二位
这样是不是要好些点呢,那位高手给个参考也好啊!
忽忽,要求有点多,大家见谅,请高手出马,或者给我个大概的思路也好!
|
||||
-- 作者:rcsy001 -- 发布时间:2011/5/23 23:35:00 -- 不难,就是有点复杂,思路: 根据要求,不断的拼接字符串,直到完成 给个简单的代码,例如: Dim s1 As String ="IIAC32X20" Output.Show("s1 = " & s1)
后面的你按要求继续完成,我对FOXTABLE的函数不熟,如果有字符串函数大全做参考,应该更容易些(我用我只知道的函数完成) |
||||
-- 作者:hhbb -- 发布时间:2011/5/23 23:55:00 -- Dim s1,s2,s3,s As String For Each dr As DataRow In DataTables("表A").DataRows If dr("产品型号") > "" Then s1 = dr("产品型号").ToUpper() s2 = s1.Replace("I","").SubString(0,2) s3 = Asc(s2.SubString(0,1))-64 s3 = s3 & iif(s2.SubString(1,1)="C",1,2) s3 = "0" & (3-s1.SubString(0,3).Replace("I","").Length) & s3 s2 = s1.SubString(s1.IndexOf(s2)+2,s1.IndexOf("X")-s1.IndexOf(s2)-2).Replace(".","") s = s1.SubString(s1.IndexOf("X")+1) s =choose(4-s.Length,"0","00","000","") & s &"0000" s = s3 & choose(4-s2.Length,"0","00","000","") & s2 & s dr("产品编码") = s Else dr("产品编码")=Nothing End If Next |