从查询中获取结果时,组合框中显示错误的列/值

问题描述 投票:0回答:1

我有一个表单,其中包含多值字段,通过组合框显示。当我从表中提取数据时,我可以让它显示一个人的姓名,但将他们的 ID 号存储在表中,使其更加用户友好。当我重新打开表单时,名称将代替数字出现在字段中,从而使它们保持隐藏状态。如图

由桌子制成

gets the correct data

如何显示

Works as intended

但是,当我从查询中提取相同的信息时,即使它具有相关数据,它仍然会加载到 ID 号中,但按下下拉菜单时将正常显示名称。

根据查询进行

has a name error

如何显示

shows IDs and stores IDs

只是为了显示查询仍然获得正确的数据

Query returns same data as the table

我以相同的方式制作组合框,并在过去尝试过其他有效的查询,但由于某种原因,屏幕的行为就像所示的数据存在问题

我尝试重新创建组合框,将其与它将保存到的相关字段链接起来,但是当我使用这个特定查询时,它仍然错误地将数据加载回该字段。这是否与以下事实有关:不空闲的人被查询排除在外,这意味着无法找到要显示的姓名,因此将其保留为 ID 号?

如果是这样,我需要寻找一种返回所有结果但不显示它们的方法

sql ms-access combobox multivalue
1个回答
0
投票

为了解决这个问题,我将行源更改为一个新语句,该语句拉取受限制的数据 OnGotFocus,然后 OnLostFocus 我将其返回到表中,以便它拥有所有数据并显示其想要执行的名称。 无法发布 sql 代码,因为这是实时评估,但类似于下面;

Private Sub Trainers_GotFocus()
  Me.Trainers.RowSource = "ONLY WANTED RESULTS"
  Me.Trainers.Requery
End Sub
Private Sub Trainers_LostFocus()
 Me.Trainers.RowSource = "EVERY RESULT"
 Me.Trainers.Requery
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.