报告 - 表达太长

在报告中,我有一个字段表达式,像这样:(VraiFaux是法语IIF)

=VraiFaux(Somme([Nombre_Km]*54)/100+Somme([Montant_fixe]*54/47)+Somme([Montant_stationnement_etc])<15 和索默([Nombre_Km] * 54)/ 100 +索默([Montant_fixe] * 54/47)+索默([Montant_stationnement_etc])> 0
15,索默([Nombre_Km] * 54/100)+索默([Montant_fixe] * 54/47)+索默([Montant_stationnement_etc]))

基本上,如果该计算值小于15,则使它15,否则把在计算出的值。

这工作得很好,直到我意识到我不想0调高至15当我试图通过改变表达式来纠正这个

=VraiFaux(Somme([Nombre_Km]*54)/100+Somme([Montant_fixe]*54/47)+Somme([Montant_stationnement_etc])<15 和索默([Nombre_Km] * 54)/ 100 +索默([Montant_fixe] * 54/47)+索默([Montant_stationnement_etc])> 0
15,索默([Nombre_Km] * 54/100)+索默([Montant_fixe] * 54/47)+索默([Montant_stationnement_etc]))

我得到了有关如何,这是太长了一个错误。 我不是专家的访问,这是在报告字段属性表。 我不知道如何改变我的报告,以便这不会是我想要的。 有一个在我的项目一些代码。

--------------解决方案-------------

试试你的字段名创建别名短。 例如,在查询中指定

NK:[Nombre_Km]

MS:[Montant_stationnement_etc]

等中,并在IIF使用这些较短的名称。

我觉得这个表达式应该是大致相同但你我不是这样的硬编码数的粉丝到表达式。 通常情况下,数字54和47将改变的一天。 我讨厌不得不寻找我用他们的每一个地方。 至少,我以为我可以用参数,像一个用户定义的函数:索默([Nombre_Km]),索默([Montant_fixe])和索姆河([Montant_stationnement_etc])。 该功能将包含54和47来执行你的业务逻辑。

= VraiFaux(索默([Nombre_Km])* 0.54 +索默([Montant_fixe])* 54/47 +

索默([Montant_stationnement_etc])<15 AND
索默([Nombre_Km])* 0.54 +索默([Montant_fixe])* 54/47 +

索默([Montant_stationnement_etc])> 0
15,索默([Nombre_Km])* 0.54 +索默([Montant_fixe])* 54/47 +索默([Montant_stationnement_etc]))

我同意杜安这里。 用户定义函数有被更容易调试额外的优势。

我要去尝试,现在解决这个问题的权利。 刚刚结束的固定与舍入货币计算的另一个小错误。

我的问题是,这是在一份报告中发生的事情,我不知道如何报道连接到定义的功能。 线索? 我将我的项目里面窥探,同时等待有关如何做到这一点正好意见。

欣赏这个新手的耐心。

有一个在我的带状工具部分中的“查看代码”按钮,当我按下认为,A MS VBA窗口,在前面的一个窗口,上面写着选项比较数据库打开。

不知道下一步该怎么做。

用户定义的函数作品完全一样的内置功能。 您在表达式中使用它,你会使用一个内置的功能,以同样的方式。 您可以在查询或在窗体或报表上的控件的控件计算列中使用它们。

我觉得这个表达式应该是大致相同但你我不是这样的硬编码数的粉丝到表达式。 通常情况下,数字54和47将改变的一天。 我讨厌不得不寻找我用他们的每一个地方。 至少,我以为我可以用参数,像一个用户定义的函数:索默([Nombre_Km]),索默([Montant_fixe])和索姆河([Montant_stationnement_etc])。 该功能将包含54和47来执行你的业务逻辑。

= VraiFaux(索默([Nombre_Km])* 0.54 +索默([Montant_fixe])* 54/47 +

索默([Montant_stationnement_etc])<15 AND
索默([Nombre_Km])* 0.54 +索默([Montant_fixe])* 54/47 +

索默([Montant_stationnement_etc])> 0
15,索默([Nombre_Km])* 0.54 +索默([Montant_fixe])* 54/47 +索默([Montant_stationnement_etc]))

感谢您的这些想法,杜安。 我年轻的时候,我记得写FORTRAN代码,将调用函数或子程序,传递参数。 我希望我们在这里谈论同样的概念,在那里我会写一个名为“myfunction的”,说的功能,并将其定义为有一些参数,然后在我的报告域代码,替换我有什么存在的函数名称部分和参数值。 我是否关闭?

用户定义的函数作品完全一样的内置功能。 您在表达式中使用它,你会使用一个内置的功能,以同样的方式。 您可以在查询或在窗体或报表上的控件的控件计算列中使用它们。

所以把这个参考信息到一个解决方案,那会我把当我拿起一个与我的报告有关,目前只是说“选项比较数据库”工具/查看代码打开该窗口VBA?

我还有一个窗口,其中显示了一个名为“basComputeInvoice”在那里我生成有一些表条目每个客户端唯一的发票号模块相关的代码......那窗口显示开头的代码

子FillCounter()
“声明,我们将使用变量
昏暗的星展银行作为DAO.DATABASE
第一个灰暗DAO.Recordset
昏暗STRSQL作为字符串
昏暗lngCounter只要
昏暗strPre​​vName作为字符串
昏暗strCurrName作为字符串
“初始化计数器1小于起始值
lngCounter = 99

...

然后在我的报告,如果我看我的字段的属性,我只想把类似= myfunctioname(Nombre_Km,Montant_fixe,Montant_stationnement_etc)?

正确。

在VBE(这是窗口打开,当你选择查看代码),你会(图标栏上左二)使用插入模块图标,然后选择要插入的过程。 使它成为一个功能,它会放在模块存根(第一和最后一个行)。 然后,你把你的代码中。是的这就是你将如何使用它在报告中。

用户定义的函数作品完全一样的内置功能。 您在表达式中使用它,你会使用一个内置的功能,以同样的方式。 您可以在查询或在窗体或报表上的控件的控件计算列中使用它们。

所以把这个参考信息到一个解决方案,那会我把当我拿起一个与我的报告有关,目前只是说“选项比较数据库”工具/查看代码打开该窗口VBA?

我还有一个窗口,其中显示了一个名为“basComputeInvoice”在那里我生成有一些表条目每个客户端唯一的发票号模块相关的代码......那窗口显示开头的代码

子FillCounter()
“声明,我们将使用变量
昏暗的星展银行作为DAO.DATABASE
第一个灰暗DAO.Recordset
昏暗STRSQL作为字符串
昏暗lngCounter只要
昏暗strPre​​vName作为字符串
昏暗strCurrName作为字符串
“初始化计数器1小于起始值
lngCounter = 99

...

然后在我的报告,如果我看我的字段的属性,我只想把类似= myfunctioname(Nombre_Km,Montant_fixe,Montant_stationnement_etc)?

oohh! 这是越来越精彩! 我按照您的指示,用如下结束了:

选项​​比较数据库
公共职能FudgeFor15(NombreKm,Montantfixe,MontantStationementEtc)
昏暗NombreKm只要
昏暗Montantfixe只要
昏暗MontantStationementEtc只要
FudgeFor15 = IIF(总和([NombreKm] * 54)/ 100 +总和([Montantfixe] * 54/47)+总和([Montantstationnementetc])<15,15,求和(圆形([NombreKm] * 54/100,2- ))+总和(圆形([Montantfixe] * 54/47,2))+总和([Montantstationnementetc]))
结束功能

我怕去试试吧!

分类:办公室 时间:2015-03-16 人气:232
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 2.489 (s). 11 q(s)