我有一个组合框,从一个有两个字段的表中进行选择:列1是"用户名";并且列2是"0";签名"用户名";字段的数据类型是短文本;签名";是一个ole对象(我们用户签名的.bmp(。当我单击下拉列表时,该表中的所有记录都是可见的,但它只允许我选择第一条记录。这个组合框在一个表单上,我有一个报告,它接受了在这个表单上选择的用户的签名。组合框的行源是:
Select Table1.User_Name, Table1.Signature
From Table1;
以下是组合框的数据属性:
绑定列----2
限制为列表----是
允许值列表编辑----是
继承值列表编辑----Yes
仅显示行源值----是
启用----是
锁定----无
我还有一些其他数据库的组合框与我希望的完全相同。唯一的区别是,这个组合框是唯一一个从表中选择的数据库,该表具有嵌入的ole对象作为其中一列的数据类型,所以我认为这一定与这个问题有关。有人知道为什么会发生这种事吗?
我的一个数据库中也发生了同样的事情。
让我们把你的组合框称为"组合1";。因此,以下字段(表1.User_Name和表1.Signature(在控件中显示为:
User_Name = Me.Combo1
Signature = Me.Combo1.column(1)
对于签名,我使用带有.bmp文件完整路径的短文本,而不是ole对象。所以数据看起来像这个例子:
用户名=";约翰·史密斯;
签名=";F: \签名\johnsmith.bmp
然后,在表单上放置一个名为Image1的图像对象,并在组合框的After Update
事件中使用以下代码:
Private Sub Combo1_AfterUpdate()
Dim SignaturePath As String
SignaturePath = Dlookup("[Signature]","Table1","[Signature]='" & Me.Combo1.column(1) & "'")
Me.Image1.Picture = SignaturePath
End Sub
这将导致Signature图像在更新组合框后更改为SignaturePath。