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

Bound Listbox with Multiselect=NONE not saving to table

我有一个包含 Cbo_Vendor 的表单,其中用户 select 是供应商(基于列出供应商和 PN 的链接电子表格中的列表)。此 selection 用于过滤单独列表框的 2 select 查询:(Qry_Parts) 导出供应商的 PN 列表和 (Qry_Team) 确定谁买家是那个供应商。

Qry_Team 有 2 个字段 - 供应商和买家,并且与列出供应商和买家的单独链接电子表格相关联。供应商的标准是

[Forms]![Summary_Form]![Cbo_Vendor]

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

SELECT [Qry_Team].[Buyer] FROM Qry_Team; 

列表框中只应填写一个姓名。

我未能成功将买家姓名保存在我的 table 中。

一旦 Cbo_Vendor 更新,我有 VBA 代码重新查询列表框。这行得通。
我也有代码自动 select 出现在列表框中的一个名字。这也有效。 我已尝试将 table 中的“买家”字段设置为普通文本和基于 Table/Query 的查找字段(使用与我表单上的列表框相同的 SELECT 语句以及将其留空)。

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

无论我如何尝试,我都无法将买家的姓名保存到我的摘要中 table,除非我实际单击已经 select 的姓名。我如何才能保存它而不需要用户再次使用 select 它?

你的问题让人很难弄清楚你是如何更新字段的——以及哪些控件与字段匹配。理想情况下,控件列表及其属性(controlsource、controlname 和任何 sql 与列表查询一起使用)会使它更容易。

有时,甚至添加带有受影响控件的表单的屏幕截图也会使其更易于可视化。

话虽如此,但在您添加评论后确实更容易猜到问题:

The form is bound to TblSummary. The form field is bound to "Buyer" within that table.

而不是List_Buyer.Selected(0) = True

尝试通过Me!List_Buyer = List_Buyer.ItemData(0)

直接赋值

当您使用 .Selected(index) 属性

时,不会直接分配值