根据另一个字段中的值选择ImageField.Picture

时间:2013-08-19 04:47:26

标签: expression ms-access-2010 iif-function

我是Access的新手,但是,由于这个伟大的论坛,我在过去几周里学到了很多东西。

我正在尝试使图像控件根据另一个字段中的“1,2或3”值显示三个箭头图像中的一个。箭头表示当前记录的市场趋势。箭头为Up(值= 1,image =“cmdTrendUp”),Sideways(值= 2,image =“cmdTrendNeutral”)和Down(值= 3,image =“cmdTrendDown”)。 (图像标记为“cmd”,因为相同的图像与另一个表单上的按钮共享。)

我使用嵌套的IIF函数作为表达式。值“1”的图像按预期显示。但是,当我在记录中循环时,仅显示绿色/向上箭头。你能帮我确定一下是什么问题吗?

=IIf([DEMO_UrlMsaCountyCAmq_MuniList]![TrendarrowValue]=1,[cmdTrendUp],IIf([DEMO_UrlMsaCountyCAmq_MuniList]![TrendarrowValue]=2,[cmdTrendNeutral],IIf([DEMO_UrlMsaCountyCAmq_MuniList]![TrendarrowValue]=3,[cmdTrendDown],[Anicon Orb.png])))

2 个答案:

答案 0 :(得分:0)

使用Choose功能

引自Office帮助:

  

语法选择(index,choice-1 [,choice-2,... [,choice-n]])

     

Choose函数语法包含以下部分:部分描述索引   需要。导致值之间的数字表达式或字段   1和可用选择的数量。选择必需。变种   表达式包含一个可能的选择。备注

     

选择从基于值的选项列表中返回值   指数。如果index为1,则选择返回列表中的第一个选项;如果   index是2,它返回第二个选择,依此类推。您可以使用   选择在可能性列表中查找值。例如,如果   index评估为3,choice-1 =“one”,choice-2 =“two”,和   choice-3 =“three”,选择返回“三”。这个能力是   如果index表示选项组中的值,则特别有用。   选择将评估列表中的每个选项,即使它仅返回   一。因此,您应该注意不良副作用。   例如,如果将MsgBox函数用作表达式的一部分   在所有选项中,将为每个选项显示一个消息框   它被评估,即使选择只返回其中一个的值   他们。        如果index小于1或大于列出的选项数,则Choose函数返回Null。如果索引不是一个整体   数字,它被舍入到最接近的整数   评价。

     

示例此示例使用“选择”功能显示名称   响应传入Ind参数中的过程的索引。

     

函数GetChoice(Ind As Integer)        GetChoice =选择(Ind,“Speedy”,“United”,“Federal”)结束函数

     

©2010 Microsoft Corporation。保留所有权利。

答案 1 :(得分:0)

创建一个包含autonumber字段和图像字段的表格。使用各自的索引存储图像。

使用索引(1,2,3)作为连接将此表添加到基础查询。

image control绑定到基础查询中的图像字段。