access2003加减乘除表达式

为什么此时运行查询1,表达式2没有值?早上我做Access的时候,引用表或者查询,是不添加[]的,不知道晚上在做的时候怎么老会有,而且都不求值了,其实我要把鲜草酸钙哈麦D... 为什么此时运行查询1,表达式2没有值?
早上我做Access的时候,引用表或者查询,是不添加[ ]的,不知道晚上在做的时候怎么老会有,而且都不求值了,其实我要把鲜草酸钙哈麦DHA这几个字段下的值求和在表达式1里,不用SQL语句难道不能做?
表达式2的字段,是在字段生成器里面用鼠标完成的,没道理输入错误,但是我发现它除了自动添加[ ]以外,“+”前后的空格也老是不见了!
求高手
展开
 我来答
iamgubing
2013-01-21 · TA获得超过1968个赞
知道小有建树答主
回答量:364
采纳率:100%
帮助的人:360万
展开全部
可能的问题是这样的:
任何空值参与的计算,结果仍然是空。
按你的例子,表达式2=[jg]![鲜]+[jg]![DHA] ,如果jg]![鲜]=3 ,[jg]![DHA] =2.25,那么 表达式2=3+2.25,=5.25,会得出正确结果;但如果 jg]![鲜] 没有数值,也就是null(即空值),那么表达式2=null+2.25,=null (null自然什么也显示不出来,所有你感觉没了值),而不会象你希望的那样 =0+2.25,=2.25 。
解决的方法是使用nz()函数,nz()函数会将数值类型的null值转化为0,将文本类型的null值转化为""(即空字符串),这样就能正确参与计算了。
将 表达式2:jg]![鲜]+[jg]![DHA] 改为 表达式2:nz([jg]![鲜])+nz([jg]![DHA] ) ,即可。您试试。
追问
对了!万分感谢,有解决方法了!
原因是我的表,是通过excel导入的,excel函数里空值=0
那这样子,我的表里的值全部录入0么?到窗体或者其他引用的时候,好多个0啊,很难看的,Access有没有”0值不显示“的功能?
追答
有2种方法:(建议用第1种,以后再access中输入数据时就可不用输入任何值,否则还得输0)
1、你把0都转化为null,再用我上面说的方法,不就可以了嘛。
2、在设置相关的字段属性中的“格式”为:0.##;\-0.##;""
说明:
可以设置四个部分,分别用4个分号隔开,见右 第一;第二;第三;第四 它们分别表示
第一部分 正数的格式。
第二部分 负数的格式。
第三部分 零值的格式。
第四部分 null值的格式。
0.##;\-0.##;"" 表示正数保留2位小数;负数前面加-,保留2位小数;如果是0,则""(即不显示)
详细可参看“帮助”,在“帮助”里输入 Format 查看。
解0人
2013-01-21 · TA获得超过2389个赞
知道大有可为答主
回答量:1474
采纳率:83%
帮助的人:800万
展开全部
括号[ ]不用理会,系统自动添加的,
表达式2修改一下试试,!改为.:
jg.鲜+jg.DHA
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式