WEB开发网
开发学院数据库Access 在Access2007中使用“多值”实现文字的sum 阅读

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

 2008-10-03 00:00:00 来源:WEB开发网   
核心提示:问题:在 access 97 - access 2003 的时代,我们依靠掌握关系型数据库的基本范式来完成多值数据库的设计,在Access2007中使用“多值”实现文字的sum,但是为此我们不得不多写很多代码,在 access 97 - access 2003 时代,比如:普通字段[A]一旦有了多值属性,那么它会增加一

问题:在 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 中我们完全可以使用多值。创建多值的步骤如下:

将表转为设计视图

选定字段

选定“参阅”选卡

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

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

设定行来源,更改“允许多值”为“是”

图片如下:

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

图片如下:

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

图片如下:

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

多了多值字段,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

Tags:Access 使用 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接