
access2003加减乘除表达式
为什么此时运行查询1,表达式2没有值?早上我做Access的时候,引用表或者查询,是不添加[]的,不知道晚上在做的时候怎么老会有,而且都不求值了,其实我要把鲜草酸钙哈麦D...
为什么此时运行查询1,表达式2没有值?
早上我做Access的时候,引用表或者查询,是不添加[ ]的,不知道晚上在做的时候怎么老会有,而且都不求值了,其实我要把鲜草酸钙哈麦DHA这几个字段下的值求和在表达式1里,不用SQL语句难道不能做?
表达式2的字段,是在字段生成器里面用鼠标完成的,没道理输入错误,但是我发现它除了自动添加[ ]以外,“+”前后的空格也老是不见了!
求高手 展开
早上我做Access的时候,引用表或者查询,是不添加[ ]的,不知道晚上在做的时候怎么老会有,而且都不求值了,其实我要把鲜草酸钙哈麦DHA这几个字段下的值求和在表达式1里,不用SQL语句难道不能做?
表达式2的字段,是在字段生成器里面用鼠标完成的,没道理输入错误,但是我发现它除了自动添加[ ]以外,“+”前后的空格也老是不见了!
求高手 展开
2个回答
展开全部
可能的问题是这样的:
任何空值参与的计算,结果仍然是空。
按你的例子,表达式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] ) ,即可。您试试。
任何空值参与的计算,结果仍然是空。
按你的例子,表达式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 查看。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |