子窗体中的 MS Access table 列表顺序是默认的
MS Access table list order is defaulted in subform
我有一个带有 table 的子表单,其中某些字段仅限于 table。 table 以正确的顺序排序,但在子表单中使用时,它被设置为默认排序。我找不到设置排序标准的正确位置。我尝试使用查询而不是 table,但我只能按升序或降序(或什么都不排序)进行排序。所有三个选项都会导致不希望的顺序。尽管有 table 设置,阶段仍被排序为默认值的示例:
建议?
组合框和列表框始终包含文本,因此您的列未按数字排序。
要进行数字排序,请添加一个仅包含数字的列,然后 - 在源代码中 - 仅对其进行排序。如果您没有单独编号,请使用以下表达式创建它:
Val(Mid([PhaseField], 7))
按照 Gustav 的建议,将另一个字段添加到您的 t_Phase table,这将是您希望此列表出现在下拉列表中的顺序(确保它是一个数字字段) :
提供数字顺序:
在您的另一个 table 中,您可以通过 select 通过查找向导使用 t_Phase table 中的 ID 字段:
移动 ID 和您刚创建的新 "Order" 字段:
使用 "Order" 字段作为要用于排序的字段,并确保 "Ascending" 是 selected:
通过向导继续:
Select 包含您要进入 table 记录的数据的字段(我假设它是 ID 字段而不是订单字段,因此请确保 ID 是 selected):
完成查找向导并进入 table 上的数据表视图并检查下拉列表现在是否按数字顺序排列。您可能已经注意到一个问题,因为它同时显示 ID 和订单列:
要隐藏不必要的 Order 列,请返回设计视图并单击您的阶段字段以 select 它。
底部应该是一个 "Lookup" 选项卡。单击此按钮并注意列宽 属性... 它显示了 2 个不同的宽度值;第一个是 ID 字段,第二个是订单字段。将 Order 字段设置为 0cm 以将其隐藏。然后我建议将剩余的 Id 字段宽度设置为足以显示所有 ID 字段选项的宽度。然后我将列表宽度 属性 设置为相同的宽度。
8cm,例如:
这应该会产生如下所示的结果,希望这就是您所追求的结果。
如果您不是在 table 的设计结构中添加查找字段,而是在窗体或子窗体上使用组合框,则原理几乎相同;您只需修改表单 属性 Sheet "Format" 选项卡中的组合框属性即可:
我有一个带有 table 的子表单,其中某些字段仅限于 table。 table 以正确的顺序排序,但在子表单中使用时,它被设置为默认排序。我找不到设置排序标准的正确位置。我尝试使用查询而不是 table,但我只能按升序或降序(或什么都不排序)进行排序。所有三个选项都会导致不希望的顺序。尽管有 table 设置,阶段仍被排序为默认值的示例:
建议?
组合框和列表框始终包含文本,因此您的列未按数字排序。
要进行数字排序,请添加一个仅包含数字的列,然后 - 在源代码中 - 仅对其进行排序。如果您没有单独编号,请使用以下表达式创建它:
Val(Mid([PhaseField], 7))
按照 Gustav 的建议,将另一个字段添加到您的 t_Phase table,这将是您希望此列表出现在下拉列表中的顺序(确保它是一个数字字段) :
提供数字顺序:
在您的另一个 table 中,您可以通过 select 通过查找向导使用 t_Phase table 中的 ID 字段:
移动 ID 和您刚创建的新 "Order" 字段:
使用 "Order" 字段作为要用于排序的字段,并确保 "Ascending" 是 selected:
通过向导继续:
Select 包含您要进入 table 记录的数据的字段(我假设它是 ID 字段而不是订单字段,因此请确保 ID 是 selected):
完成查找向导并进入 table 上的数据表视图并检查下拉列表现在是否按数字顺序排列。您可能已经注意到一个问题,因为它同时显示 ID 和订单列:
要隐藏不必要的 Order 列,请返回设计视图并单击您的阶段字段以 select 它。
底部应该是一个 "Lookup" 选项卡。单击此按钮并注意列宽 属性... 它显示了 2 个不同的宽度值;第一个是 ID 字段,第二个是订单字段。将 Order 字段设置为 0cm 以将其隐藏。然后我建议将剩余的 Id 字段宽度设置为足以显示所有 ID 字段选项的宽度。然后我将列表宽度 属性 设置为相同的宽度。
8cm,例如:
这应该会产生如下所示的结果,希望这就是您所追求的结果。
如果您不是在 table 的设计结构中添加查找字段,而是在窗体或子窗体上使用组合框,则原理几乎相同;您只需修改表单 属性 Sheet "Format" 选项卡中的组合框属性即可: