在Access数据库里,能不能进行这样的计算,例:
规格mm 平方米
1200×800 0.96
请问我在规格这一字段里输入1200×800,能不能使用表达式自动在平方米字段中计算出乘积?
--------------1-------------
SELECT InStr([规格],"×") AS wz, Left([规格],[wz]-1) AS c, Right([规格],Len([规格])-[wz]) AS k, [c]*[k] AS mj
FROM 表1;
----------2---------------
SELECT 表1.[ID], 表1.[客户名称], 表1.[制作日期], 表1.[产品名称], 表1.[规格], eval(replace([规格],"×","*"))/1000000 AS 表达式1, 表1.[平方米], 表1.[单位], 表1.[数量], 表1.[单价], 表1.[金额], 表1.[备注]
FROM 表1;
原理是,用replace函数,用星号替代"×",
然后再用eval函数进行字符计算
这两函数的用法,LZ可以参考一下系统的帮助说明哦
-----------------3----------------------
SELECT 表1.[ID], 表1.[客户名称], 表1.[制作日期], 表1.[产品名称], 表1.[规格], CDbl(Left([规格],InStr(1,[规格],"×",1)-1))*CDbl(Mid([规格],InStr(1,[规格],"×",1)+1,10))/1000000 AS 表达式1, 表1.[平方米], 表1.[单位], 表1.[数量], 表1.[单价], 表1.[金额], 表1.[备注]
FROM 表1;
你的金额是怎么计算出来的?单价*数量不等于金额。
表的设计中,就可以不要“平方米”了
-----------------4----------------------
把规格1个字段改为规格长度和规格宽度2个字段不就简单了吗
==========
制作清单管理.rar
(15.23 KB, 下载次数: 7)
============ |