问题:
| 在 access 97 - access 2003 的时代,我们依靠掌握关系型数据库的基本范式来完成多值数据库的设计,但是为此我们不得不多写很多代码,请参考: 新手来看:如何实现文字的sum?《VBA》 http://access911.net/index.asp?u1=a&u2=77FABF1E13DC 在 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 代码进行合并,具体合并代码请参考 新手来看:如何实现文字的sum?《VBA》 http://access911.net/index.asp?u1=a&u2=77FABF1E13DC |
回答:
| 而 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 |
本站文章旨在为该问题提供解决思路及关键性代码,并不能完成应该由网友自己完成的所有工作,请网友在仔细看文章并理解思路的基础上举一反三、灵活运用。
access911.net 原创文章,作者本人对文章保留一切权利。 如需转载必须征得作者同意并注明本站链接
|
|