Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access msaccess排序顺序_Ms Access_Sorting - Fatal编程技术网

Ms access msaccess排序顺序

Ms access msaccess排序顺序,ms-access,sorting,Ms Access,Sorting,我可能遗漏了一些非常简单的东西,但我看不到。MSAccess的排序很奇怪,为了测试这一点,我创建了一个简单的单文本字段表,并插入了以下值: BB0-01 BB001-0 BB0-01a 现在,根据little old me的说法,由于BB0-01和BB0-01a有共同的前6个字符,并且BB001-0已经在第4个字符处出现了偏差,因此-01和-01a应该紧密排序,类似于: BB0-01 BB0-01a BB001-0 但事实并非如此。排序顺序与第一个列表相同,其中-0位于-01和-01a之间。反向

我可能遗漏了一些非常简单的东西,但我看不到。MSAccess的排序很奇怪,为了测试这一点,我创建了一个简单的单文本字段表,并插入了以下值:

  • BB0-01
  • BB001-0
  • BB0-01a
  • 现在,根据little old me的说法,由于BB0-01和BB0-01a有共同的前6个字符,并且BB001-0已经在第4个字符处出现了偏差,因此-01和-01a应该紧密排序,类似于:

  • BB0-01
  • BB0-01a
  • BB001-0

  • 但事实并非如此。排序顺序与第一个列表相同,其中-0位于-01和-01a之间。反向排序将-01a放在位置#1,但-0保持在它们之间。这怎么可能呢?

    看起来排序忽略了-


    但是,在MS Access文档中找不到任何说明。

    notes»出于排序目的,某些表达式可能会使两个不同的值相同或相等。例如,如果表达式忽略负值前面的减号,-3和3可能会按最初输入的顺序一起出现。«–排序似乎可以自定义,可能需要在此处进行一些调整。OP最好记住,并非所有的区域性排序都相同,因此他首选的排序顺序可能不是Access使用的顺序。区域性之间的排序差异是一回事。但我的MSAccess运行在美式英语模式下,它似乎仍能将A-3转换成A3。我用等号替换了所有的负号,然后排序就可以了。所以这篇文章似乎忽略了在文章中的细微之处。MS提供了一个相当笨重的ASCII排序顺序解决方案: