我在“Task-TrainingStatus”表中有一个列表 身份优先级 1 中型 2 低 3 高 4 最低 5 不适用 6 最高 我的数据表“Task-TrainingList”有 ID 优先级 1 3 2 3 3 6 4 2 5 1 6 2 7 4 8 5 我有一个连续的表单“TrainingList”,其中有一个组合框“cboxPriority” 控制源:优先级 行来源:SELECT [Task-TrainingStatus].[ID]、[Task-TrainingStatus].[优先级] FROM [Task-TrainingStatus] ORDER BY [优先级]; 装订柱:1 列数:2 列宽:0";1" 组合框按预期工作,显示低、最低、中等... 我有一个标签“lblPriority”,带有点击事件(简化)
Private Sub lblPriority_Click()
Me.OrderBy = "PriorityLevel"
Me.OrderByOn = True
End Sub
问题是它根据数字 ID 排序,所以我得到: 中等的 低的 高的 最低 不适用 最高 我希望它按文本排序 高的 最高 低的 最低 中等的 不适用 排序基于基础表值,我不知道如何从那里获取文本值。 我该怎么做?
蒂亚
您的表单需要使用查询作为控制源:
SELECT [Task-TrainingList].ID,
[Task-TrainingList].PriorityLevel,
[Task-TrainingStatus].Priority
FROM [Task-TrainingList]
INNER JOIN [Task-TrainingStatus] ON [Task-TrainingList].ID = [Task-TrainingStatus].ID;
然后,您可以将表单上的
OrderBy
属性设置为 Priority
或者作为替代方案,您可以对查询中的数据进行排序:
SELECT [Task-TrainingList].ID,
[Task-TrainingList].PriorityLevel,
[Task-TrainingStatus].Priority
FROM [Task-TrainingList]
INNER JOIN [Task-TrainingStatus] ON [Task-TrainingList].ID = [Task-TrainingStatus].ID
ORDER BY [Task-TrainingStatus].Priority;