Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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 MS Access 2003-对列表框的字符串值排序不按字母顺序_Ms Access_Listbox_Vba_Ms Access 2003 - Fatal编程技术网

Ms access MS Access 2003-对列表框的字符串值排序不按字母顺序

Ms access MS Access 2003-对列表框的字符串值排序不按字母顺序,ms-access,listbox,vba,ms-access-2003,Ms Access,Listbox,Vba,Ms Access 2003,这里有一个愚蠢的问题。假设我有一个为列表框生成的查询,它为三个存储生成值 Store A 18 Store B 32 Store C 54 现在,如果我在sql语句中按顺序排序,它唯一要做的就是按字母顺序降序或升序,但是我想要一个特定的顺序(只是因为他们想要一个特定的顺序)…那么有没有一种方法可以让我向sql添加一些东西来获取 Store B Store C Store A i、 基本上是一行一行的我想要的。谢谢 将数字字段sequencer添加到包含存储名称的表中。

这里有一个愚蠢的问题。假设我有一个为列表框生成的查询,它为三个存储生成值

Store A     18
Store B     32
Store C     54
现在,如果我在sql语句中按顺序排序,它唯一要做的就是按字母顺序降序或升序,但是我想要一个特定的顺序(只是因为他们想要一个特定的顺序)…那么有没有一种方法可以让我向sql添加一些东西来获取

Store B
Store C
Store A
i、 基本上是一行一行的我想要的。谢谢

将数字字段sequencer添加到包含存储名称的表中。使用sequencer值确定排序顺序

选择sequencer,按sequencer从表中存储\u名称;
在列表框中,将sequencer列的列宽设置为0

或者简单地说,不要将sequencer包含在
选择
字段列表中,而只是将其包含在
排序依据

通过sequencer从表ORDER中选择store_name;

你可以做两件事中的一件

或者使用一个stament,比如

SELECT Table1.Store, 
       Table1.Val, 
       Switch([Store]="StoreB",1,[Store]="StoreC",2,[Store]="StoreA",3) AS Expr1
FROM Table1
ORDER BY Switch([Store]="StoreB",1,[Store]="StoreC",2,[Store]="StoreA",3);

或者使用一个二级订单表,该表存储门店名称的值,以及一个按值排序的订单。

我有一个预感……不确定是否可以向sql中添加一些内容来完成,比如交叉表中的月份概念。谢谢你,汉斯!您可以按照astander的建议向SQL中添加一个开关函数。但是,如果查询返回的行数超过几行,那么这种方法可能会很有挑战性。我宁愿根据需要更改sequencer字段中的值,也不愿修改开关函数。如果你让sequencer浮动数据类型,你可以分配分数值,以适应新行到一个现有的序列…老兄,老实说,这完美地解决了我需要的…再次(可能是在这个网站上的第一百次)非常感谢汉斯!这绝对是我处理此事的方式。如果在表中添加或删除数据,添加switch语句将返回可能不准确的结果。此外,您不需要将sequencer列的宽度设置为0,只需不将其包含在SELECT子句中,如下所示:按sequencer从表ORDER中选择store\ U name;即使未选中ORDER BY子句中的sequencer列,您仍然可以使用该列。@dscarr您现在这么说似乎太明显了。:-)我修改了答案。谢谢。我对转换语句的方法一点也不熟悉。非常感谢!今天学到了一些很酷的东西!