Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

ACCESS计算问题

loginwjd  发表于:2011-04-11 08:56:09  
复制

If 类别 = "A" Then
    参数 = Split(规格, "-")(0) * Split(规格, "-")(1) * 0.089
ELSE
参数=Split(规格, "-")(0) * Split(规格, "-")(1) * 0.077
END IF

如何按以上条件计算

点击下载此附件

 

Top
loginwjd 发表于:2011-04-11 09:19:42
煮江品茶 发表于:2011-04-11 10:23:10

于子窗体设计视图下,在参数控件的控件来源中写:

=IIf(nz([规格],"")<>"",Eval(IIf([类别]="A",Replace([规格],"-","*") & "*0.089",Replace([规格],"-","*") & "*0.077")))



loginwjd 发表于:2011-04-11 14:14:26

于子窗体设计视图下,在参数控件的控件来源中写:

=IIf(nz([规格],"")<>"",Eval(IIf([类别]="A",Replace([规格],"-","*") & "*0.089",Replace([规格],"-","*") & "*0.077")))

如果是多层呢,不能用IIF



煮江品茶 发表于:2011-04-11 14:20:05

原则上,套用iif多少层都可以。只是太多了,看起来眼花而已。

在参数特别多的情况下,可以考虑另外建一个规格参数表,然后再查询或者窗体引用该表的值。



loginwjd 发表于:2011-04-11 14:37:16

     
      If 类别 = "C-PHSXX" Or 类别 = "C-SBRAX" Or 类别 = "C-BECOP" Or 类别 = "C-REDCOP" Then
          参数 = Split(规格, "-")(0) * Split(规格, "-")(1) * 0.089
          
       ElseIf 类别 = "K-PHSXX" Or 类别 = "K-SBRAX" Or 类别 = "K-REDCOP" Or 类别 = "K-REDCOP" Then
          参数 = Split(规格, "-")(2)

       ElseIf 类别 = "C-BRASS" Then
          参数 = Split(规格, "-")(0) * Split(规格, "-")(1) * 0.087
      
       ElseIf 类别 = "K-BRASS" Then
          参数 = Split(规格, "-")(2)

       ElseIf 类别 = "C-SPCCX" Or 类别 = "C-SECCX" Or 类别 = "C-SPCCS" Then
          参数 = Split(规格, "-")(0) * Split(规格, "-")(1) * 0.0785
      
       ElseIf 类别 = "K-SPCCX" Or 类别 = "K-SECCX" Or 类别 = "K-SPCCS" Then
          参数 = Split(规格, "-")(0) * Split(规格, "-")(1) * Split(规格, "-")(2) * 0.0785

       ElseIf 类别 = "C-ALUXX" Then
          参数 = Split(规格, "-")(0) * Split(规格, "-")(1) * 0.027
      
       ElseIf 类别 = "K-ALUXX" Then
          参数 = Split(规格, "-")(2)

       ElseIf 类别 = "C-SUSST" Then
          参数 = Split(规格, "-")(0) * Split(规格, "-")(1) * 0.08

       ElseIf 类别 = "K-SUSST" Then
          参数 = Split(规格, "-")(2)
      
   
     END IF

请教品茶老师,这么多参数如何做规格参数表



煮江品茶 发表于:2011-04-11 14:55:28
这要看你希望得到根本的解决方案,还是改良的解决方案了。这个问题有若干种解决方法。呵呵

loginwjd 发表于:2011-04-11 14:57:54
最好是根本的解决方案.

煮江品茶 发表于:2011-04-11 15:01:22
K*SPCCX是什么概念?两个确定名称的变量相乘?

loginwjd 发表于:2011-04-11 15:07:47

K-SPCCX是类别编号

序號            編碼              名稱    原料類別       規格       參數 
1   ALUXX-030-04-0000-CO   0.30*4""鋁片"  C-ALUXX     0.30-101.6   

规格有0.1-0.1或者0.1-0.1-0.1,"-"不是减号是连接号.



loginwjd 发表于:2011-04-11 15:08:51
K-SPCCX中的"-"也是连接号

煮江品茶 发表于:2011-04-11 15:14:47

我数了一下,应该是20个类别,除了这20个类别后,没有其他类别需要计算了吧?



loginwjd 发表于:2011-04-11 15:19:38

点击下载此附件

其它类别以后才有,但现在未知.



煮江品茶 发表于:2011-04-11 15:43:24
那只能通过数据表解决最合理。

loginwjd 发表于:2011-04-11 15:47:03
品茶老师可不可以给一个简化的示例

煮江品茶 发表于:2011-04-11 16:37:10

大体可以如下:

 

 

点击下载此附件

loginwjd 发表于:2011-04-11 17:24:51
谢谢品茶老师,先学习下,看看能否看得明白.

loginwjd 发表于:2011-04-13 15:21:46
感谢品茶老师,我暂时使用您的方法解决问题.

总记录:17篇  页次:1/1 9 1 :