Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access2007

access 2007按自定义次序对记录排序

时 间:2008-07-25 09:10:07
作 者:Microsoft   ID:11  城市:上海  QQ:3002789054点击这里给麥田发消息
摘 要:按自定义次序对记录排序
正 文:

有时可能需要按用户定义的次序(也称为自定义或逻辑次序)而不是按字母或数字次序,来对数据进行排序。例如,如果对星期进行排序以使星期一最先出现,将比按字母次序排序(这种情况下,星期五最先出现)更有意义。可以在数据表视图中对表或查询的数据进行排序,或者在窗体视图中对窗体的数据进行排序。

您要做什么?


对少量、有限的唯一字段值排序

在此过程中,您将编写表达式以使用 IIf 函数来对雇员职务进行排序。

首先,创建包含以下三个字段的表:职务、名字和姓氏。在“职务”字段中,为四条新记录输入以下值: 

  • 内部销售协调员
  • 销售经理
  • 销售代表
  • 销售副总裁

在这四条记录的“名字”和“姓氏”字段中,输入所需的姓名。

  1. 现在,在数据表视图中打开该表。
  2. “开始”选项卡上的“排序和筛选”组中,单击“高级”,然后单击快捷菜单上的“高级筛选/排序”
  3. 在网格中添加所需的字段,例如,“名字”、“姓氏”和“职务”。
  4. 右键单击第一个空白列中的“字段”行,单击“显示比例”,然后键入以下表达式:

    IIf([Title] = "Vice President, Sales", 1, IIf([Title] = "Sales Manager", 2, IIf([Title] = "Sales Representative", 3, IIf([Title] = "Inside Sales Coordinator", 4, 5))))

    “职务”是包含排序值的字段的名称。引号引起来的值是存储在字段中的各个值。后面的数值则是分配给它的序号。前面的表达式将序号 1 到 4 分配给四个不同的职务,并将序号 5 分配给所有其他人。执行排序时,将为此表达式中未提到的职务分配相同的序号 (5)。

  5. 在包含表达式的列的“排序”行中,单击“升序”。
  6. “开始”选项卡上的“排序和筛选”组中,单击“切换筛选”

    IIf 函数将返回与“职务”字段中的值对应的数值。例如,如果“职务”字段的值是“销售经理”,则分配的数字是“2”。如果“职务”字段中有的值未作为函数参数列出(例如,“地区协调员”),则会将数字“5”分配给它。然后,查询将按升序对这些数字排序。  

 

对大量的唯一字段值排序

 

如果有大量的值需要排序,则更好的数据排序方式是创建查阅表。

假设“雇员”表引用了 50 多个不同的职务。那么,您首先需要创建查阅表,并使现有表准备查找新表。然后使两个表相关,并创建查询。

创建查阅表并修改现有表

  1. 创建一个将用来存储职务的新查阅表。将该表命名为“职务表”,并将该字段设置为圆括号中所指示的数据类型,如下表所示:
    职务 ID
    (自动编号)
    职务
    (文本)
    1 销售副总裁
    2 销售经理
    3 销售代表
    4 内部销售协调员
  2. 将“职务 ID”字段设置为主键。
  3. 修改“雇员”表,使它能够查找“职务表”表。
    • 在设计视图中,将“职务”字段的名称更改为“职务 ID”
    • “数据类型”列中,将“数据类型”更改为
      Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助