具有Multiselect = NONE的绑定列表框未保存到表

时间:2018-07-02 16:55:03

标签: listbox ms-access-2010

我有一个包含Cbo_Vendor的表单,用户可以在其中选择一个供应商(基于链接电子表格中列出了供应商和PN的列表)。此选择用于过滤针对单独的列表框的2个选择查询:(Qry_Parts)导出供应商的PN列表,而(Qry_Team)确定该供应商的买方是谁。

Qry_Team有2个字段-供应商和买方,并且绑定到一个单独的链接电子表格,该电子表格列出了供应商和买方。供应商的条件是

[Forms]![Summary_Form]![Cbo_Vendor]

我有一个列表框,用于显示Qry_Team的买家姓名。 List_Buyer的行源是

SELECT [Qry_Team].[Buyer] FROM Qry_Team; 

在列表框中只能填充一个名称。

我无法将买方的姓名保存在我的表中。

更新Cbo_Vendor后,我有VBA代码可以重新查询列表框。这样有效。
我也有代码自动选择出现在列表框中的一个名称。这也有效。 我尝试将表中的“买方”字段设置为普通文本,并基于表/查询设置为查找字段(使用与表单上的列表框相同的SELECT语句,并将其保留为空白)。

Private Sub Cbo_Vendor_AfterUpdate()
  Me.List_Buyer.Requery
  List_Buyer.Selected(0) = True
End Sub

无论我尝试什么,除非我亲自单击已选择的名称,否则我都无法获得要保存到摘要表中的买方名称。如何在不要求用户再次选择的情况下保存它?

1 个答案:

答案 0 :(得分:1)

您的问题使您很难弄清楚如何更新字段-以及哪些控件与字段匹配。理想情况下,具有属性的控件列表(控件源,控件名以及与列表查询一起出现的所有sql)都将使其变得更加容易。

有时甚至使用受影响的控件添加表单的屏幕截图也可以使可视化变得更容易。

话说回来,这确实使添加您的评论后更容易猜测问题:

  

该表格绑定到TblSummary。表单字段绑定到“买方”   在该表中。

代替List_Buyer.Selected(0) = True

尝试通过Me!List_Buyer = List_Buyer.ItemData(0)直接分配值

使用.Selected(index)属性

时不会直接分配该值