Access交流中心

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

代码的语法和逻辑

zhujie  发表于:2011-07-24 21:01:59  
复制

Private Sub 理论耗时_Click()

If 产品长度.Value <= 70 Then

If 机器厂商.Value = "华宝" Then

If 切法.Value = "单切" Then 理论耗时.Text = 10000 / Val(Qty.Value)

ElseIf 切法.Value = "直切" Then

If 折法.Value = "冷刀切" Or 折法.Value = "热刀切" Then 理论耗时.Value = 10000 / Val(Qty.Value)

Else

理论耗时.Value = 12000 / Val(Qty.Value)

End If

ElseIf 切法.Value = "中折" Then

If 折法.Value = "冷刀切" Or 折法.Value = "热刀切" Then 理论耗时.Value = 4000 / Val(Qty.Value)

ElseIf 折法.Value = "超声波" Then 理论耗时.Value = 6000 / Val(Qty.Value)

ElseIf 切法.Value = "两边折" Then 理论耗时.Value = 4000 / Val(Qty.Value)

ElseIf 切法.Value = "长短折" Then 理论耗时.Value = 4000 / Val(Qty.Value)

ElseIf 机器厂商.Value = "义生" Then

If 切法.Value = "直切" Then 理论耗时.Value = 3500 / Val(Qty.Value)

ElseIf 切法.Value = "中折" Then

If 折法.Value = "冷刀切" Or 折法.Value = "热刀切" Then 理论耗时.Value = 3000 / Val(Qty.Value)

ElseIf 折法.Value = "超声波" Then 理论耗时.Value = 3500 / Val(Qty.Value)


ElseIf 切法.Value = "三角折" Then 理论耗时.Value = 2500 / Val(Qty.Value)

ElseIf 切法.Value = "长短折" Then 理论耗时.Value = 3000 / Val(Qty.Value)

ElseIf 机器厂商.Value = "喜得泉" Then

If 切法.Value = "直切" Then 理论耗时.Value = 10000 / Val(Qty.Value)

ElseIf 切法.Value = "中折" Then

If 折法.Value = "冷刀切" Or 折法.Value = "热刀切" Then 理论耗时.Value = 5500 / Val(Qty.Value)

ElseIf 折法.Value = "超声波" Then 理论耗时.Value = 5000 / Val(Qty.Value)


ElseIf 切法.Value = "长短折" Then 理论耗时.Value = 4000 / Val(Qty.Value)

ElseIf 机器厂商.Value = "金轮" Then

If 切法.Value = "直切" Then 理论耗时.Value = 15000 / Val(Qty.Value)
Else

If 机器厂商.Value = "华宝" Then

If 切法.Value = "单切" Then 理论耗时.Value = 7000 / Val(Qty.Value)

ElseIf 切法.Value = "直切" Then

If 折法.Value = "冷刀切" Or 折法.Value = "热刀切" Then 理论耗时.Value = 7000 / Val(Qty.Value)

ElseIf 折法.Value = "超声波" Then 理论耗时.Value = 10000 / Val(Qty.Value)

ElseIf 切法.Value = "中折" Then

If 折法.Value = "冷刀切" Or 折法.Value = "热刀切" Then 理论耗时.Value = 3000 / Val(Qty.Value)

ElseIf 折法.Value = "超声波" Then 理论耗时.Value = 5000 / Val(Qty.Value)

ElseIf 切法.Value = "两边折" Then 理论耗时.Value = 3500 / Val(Qty.Value)

ElseIf 切法.Value = "长短折" Then 理论耗时.Value = 3000 / Val(Qty.Value)

ElseIf 机器厂商.Value = "义生" Then

If 切法.Value = "直切" Then 理论耗时.Value = 3000 / Val(Qty.Value)

ElseIf 切法.Value = "中折" Then

If 折法.Value = "冷刀切" Or 折法.Value = "热刀切" Then 理论耗时.Value = 2500 / Val(Qty.Value)

ElseIf 折法.Value = "超声波" Then 理论耗时.Value = 3000 / Val(Qty.Value)


ElseIf 切法.Value = "三角折" Then 理论耗时.Value = 2000 / Val(Qty.Value)

ElseIf 切法.Value = "长短折" Then 理论耗时.Value = 2500 / Val(Qty.Value)

ElseIf 机器厂商.Value = "喜得泉" Then

If 切法.Value = "直切" Then 理论耗时.Value = 10000 / Val(Qty.Value)

ElseIf 切法.Value = "中折" Then

If 折法.Value = "冷刀切" Or 折法.Value = "热刀切" Then 理论耗时.Value = 5500 / Val(Qty.Value)

ElseIf 折法.Value = "超声波" Then 理论耗时.Value = 5000 / Val(Qty.Value)

ElseIf 切法.Value = "长短折" Then 理论耗时.Value = 4000 / Val(Qty.Value)

ElseIf 机器厂商.Value = "金轮" Then

If 切法.Value = "直切" Then 理论耗时.Value = 10000 / Val(Qty.Value)

End If
End If
End Sub

请高手帮我看看我写的这些有没有什么语法和逻辑问题?代码中的机器厂商、Qty、理论耗时、产品长度是文本框,切法和折法是ComboBox

 

Top
西出阳关无故人 发表于:2011-07-24 21:32:10

壮观,这么多if。

头大...



都市侠影 发表于:2011-07-24 22:53:55

写代码的时候建议养成写一段调试一段的习惯,例如你可以先只写一个IF语句试一试即知你的引用有没有问题,像这样一打开代码窗口就长篇大论最后才问有没有问题,要是有的话肯定会是一连串。所以建议楼主养成调试代码的习惯。



网行者 发表于:2011-07-25 06:28:38

先用代码格式化工具整理一下,再逐个排查

 

点击下载此附件

煮江品茶 发表于:2011-07-25 08:35:26
最好的办法是用数据表存这些数据,其次的办法是用select case结构。

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