access中的列排序使用字母和数字

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

当我必须添加项目时,我在对数据库进行排序时遇到问题。 它从 R01 开始,一直到 R134。 当它到达 R10 时,它接着是 R100、R101、R102,直到到达 R11,然后它转到 R110,如此等等。 有人可以告诉我我做错了什么吗它让我发疯

尝试排序、更改表达方式

ms-access-2007
1个回答
0
投票

好吧,你有几个选择。 有些可能可能也可能不可能,具体取决于您的具体情况。

问题源于文本和数字的排序方式。作为一般准则,当您将数字表示为文本时(通常是由于前导 0),您只需计算出您将拥有的最大数字并坚持足够的前导 0,以确保所有条目的长度相同。或者,就您的情况而言,字母和数字之间有足够的 0,以便所有条目的长度相同。 这是我的建议。

  1. 有没有办法从R001开始而不是从R01开始?如果是这样,这可能是最好的方法,因为目前的情况似乎数据已经存在固有问题。 如果可以的话,更改数据。

  2. 您可以添加另一个字段,将 R01-R99 变成 R001-R099 吗? 然后就在该字段上排序。 如果您无法更改数据,那么添加关键字段可能会起作用。将字段的数字部分保存在新的关键字段中甚至会更容易。 R01 变为 1,R99 变为 99,R102 变为 102,等等

您的最终解决方案取决于您如何使用数据库。 如果它只是您用来分析数据、运行报告、清理数据等的工具,那么添加另一个字段并在添加数据时创建更新查询应该可行。 如果您使用 Access 制作其他人将使用的应用程序,您可以执行相同的原则,但可能需要额外小心,以便用户永远不知道幕后发生了什么。 但如果可能的话,更改数据会让其他一切都消失。

© www.soinside.com 2019 - 2024. All rights reserved.