论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Access数据库教程
Tag:2000,2003,2007,查询,sql,,教程,安全,转换,排序,复制,删除,修改,视频教程

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

文章类别:Access数据库 | 发表日期:2008-10-5 18:44:28

时 间:2008-7-25 9:10:07
作 者:Microsoft
摘 要:按自定义次序对记录排序
正 文:

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

您要做什么?


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

在此过程中,您将编写表达式以使用 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. 修改“雇员”表,使它能够查找“职务表”表。
视频教程列表
文章教程搜索
 
Access数据库推荐教程
Access数据库热门教程