在Access2007中使用“多值”实现文字的sum


问题:在 access 97 - access 2003 的时代,我们依靠掌握关系型数据库的基本范式来完成多值数据库的设计,但是为此我们不得不多写很多代码。

  在 access 97 - access 2003 时代,为了完善数据结构,我们需要建立 2 张表来存储以下结构:

  dq      xm

  A      张三,李四

  B      王五,王六,王七

  C      王九

  设计表结构

  表1:

  dq(地区) ms(描述)

  A     沿海城市,人口发达

  B     内陆城市,人口疏松

  C     边疆城市,外国人多

  表2:

  dq(地区) xm(姓名)

  A     张三

  A     李四

  B     王五

  B     王六

  B     王七

  C     王九

  然后用 VBA 代码进行合并。

  回答:

  而 access 2007 中我们完全可以使用多值。创建多值的步骤如下:

  将表转为设计视图

  选定字段

  选定“参阅”选卡

  更改“显示控件”为组合框

  更改“行来源类型”为“值列表”或者“表/查询”

  设定行来源,更改“允许多值”为“是”
图片如下:

  

  图片如下:

  

  图片如下:

  

  多了多值字段,SQL 语句也发生了相应的变化,比如:普通字段[A]一旦有了多值属性,那么它会增加一个子字段[A.VALUE]

  查询所有的记录,并且每个值占一行:

  select [id],[A],[A].[value] from [table name]

  查询所有记录,但是多值都合并为一行显示:

  select [id],[A] from [table name]

  删除整行:

  delete from [table name] where [A].[value] = 5

  删除多值字段的其中某个字段

  delete [A].[value] from [table name] where [A].[value] = 5


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3