附件不显示(空白帧)和“IIf”语句

时间:2016-07-27 12:40:46

标签: sql ms-access ms-access-2010

我需要根据布尔值进行条件显示。 (如果为true =>显示附件,则显示默认img / nothing。)

两个表:

T1(long T1_ID, txt firstname, attachment visa)
T2(long T2_ID, long fk_T1_ID, bool isValid)

所以我使用了IIf语句:

SELECT T1.firstname, IIf(T2.isValid,T1.visa.FileData,Null) AS validSignature
FROM T1 INNER JOIN T2 ON...

然后我将validSignature作为我的源代码控制放入附件控制器,但它从不显示任何内容......

当我在文本字段中显示.FileName而不是.FileData时,它正常工作:它仅在isValid = TRUE时显示正确的文件名。但我需要显示图片本身,而不仅仅是文件名。

我不知道我做错了什么,所以我在寻求你的帮助。

谢谢

2 个答案:

答案 0 :(得分:1)

为什么不将图片存储在文件夹中并使t1.visa字段存储文件名,而不是使用附件阻塞数据库。

然后只需设置imagecontrol.picture = t1.visa

即可

我用库存数据库做了这个。用户单击按钮以打开文件选择器以选择要与每个库存项目关联的照片,并将其移动到文件夹。我使用了一个单独的图像表和放置和图像控制在我的表单上的按钮,这将允许他们翻阅每个项目的可用照片,以及更改默认加载的照片。如果这与您想要做的事情相符,我可以分享代码。

答案 1 :(得分:0)

抱歉语法...我在我的手机上,但就像我说我会在控制源中使用事件过程而不是iif语句。

Private sub your form_current() 
If me.isvalid = true then  
Me.imagecontrol.picture = me.visa 
Else  
Me.imagecontrol.picture = "default image path"  
End if  
End sub