Foxtable(狐表)用户栏目专家坐堂 → 请教高手这个自动输入的公式怎么编写?(已解决)


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

主题:请教高手这个自动输入的公式怎么编写?(已解决)

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


加好友 发短信
等级:二尾狐 帖子:598 积分:3353 威望:0 精华:0 注册:2011/5/21 18:05:00
请教高手这个自动输入的公式怎么编写?(已解决)  发帖心情 Post By:2011/5/23 12:17:00 [只看该作者]

 

 
图片点击可在新窗口打开查看此主题相关图片如下:01.jpg
图片点击可在新窗口打开查看

如图所示,我想做的效果是我在产品型号输入以后,产品的编码会根据我的输入自动填入。

 

规则如下:

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补够四位写入产品编码九到十二位

 

这样是不是要好些点呢,那位高手给个参考也好啊!

 

 

忽忽,要求有点多,大家见谅,请高手出马,或者给我个大概的思路也好!

 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:编码_0523.zip

[此贴子已经被作者于2011-6-13 8:53:38编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By: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
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:598 积分:3353 威望:0 精华:0 注册:2011/5/21 18:05:00
  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/23 14:28:00 [只看该作者]

大家先研究,我有空再看,现在比较忙。

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By: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
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/5/23 15:48:00 [只看该作者]

就是你那个如果是死的还行,如果不是有规律的怎么做?

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


加好友 发短信
等级:二尾狐 帖子:598 积分:3353 威望:0 精华:0 注册:2011/5/21 18:05:00
  发帖心情 Post By: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
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:598 积分:3353 威望:0 精华:0 注册:2011/5/21 18:05:00
  发帖心情 Post By:2011/5/23 23:24:00 [只看该作者]

以下是引用YDS在2011-5-23 12:17:00的发言:

 

 
图片点击可在新窗口打开查看此主题相关图片如下:01.jpg
图片点击可在新窗口打开查看

如图所示,我想做的效果是我在产品型号输入以后,产品的编码会根据我的输入自动填入。

 

规则如下:

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补够四位写入产品编码九到十二位

 

这样是不是要好些点呢,那位高手给个参考也好啊!

 

 

忽忽,要求有点多,大家见谅,请高手出马,或者给我个大概的思路也好!

 

 

 

 下载信息  [文件大小:6.7 KB  下载次数:3]
图片点击可在新窗口打开查看点击浏览该文件:编码_0523.zip


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


加好友 发短信
等级:幼狐 帖子:156 积分:1627 威望:0 精华:0 注册:2011/4/20 10:44:00
  发帖心情 Post By:2011/5/23 23:35:00 [只看该作者]

不难,就是有点复杂,思路:

根据要求,不断的拼接字符串,直到完成

给个简单的代码,例如:

Dim s1 As String ="IIAC32X20"
Dim s3 As String
If left(s1,3)="III" Then
  s3="03"
  s1=s1.SubString(3)
Else
s3="02"
s1=s1.SubString(2)
End If
s3=s3 & iif(left(s1,1)="A","1",iif(left(s1,1)="B","2",IIF(left(s1,1)="C","3","4")))
s1=s1.SubString(1)
s3=s3 & iif(left(s1,1)="C","1","2")
s1=s1.SubString(1)

Output.Show("s1 = " & s1)
Output.Show("s3 = " & s3)

 

后面的你按要求继续完成,我对FOXTABLE的函数不熟,如果有字符串函数大全做参考,应该更容易些(我用我只知道的函数完成)


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


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By: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

 回到顶部
总数 11 1 2 下一页