十万火急:怎样修改acess数据库的最大字段数限制。即将默认的255修改为1024(400分奉送) (100分)

  • 主题发起人 主题发起人 gemsoft
  • 开始时间 开始时间
1.找出所有字段中的某个键字段集合,设该键字段集合中的字段个数为k;
2.把第一步得到的键字段集合去除后的剩余字段分为几组,每个组的字段数都小于255-k,分别引入第一步找到的键字段集,然后对他们分别建表;
3.这时,原来的大表就是所有这些子表的键字段集合上的自然连接。
 
不好意思,可能是我太苯了,你所说的‘一条用户记录就是一张报表’,不太明白你表示的
是什么意思。能否把你现在准备的(大于255个字段,可能是用户设计的)的表及相关的几
张表的设计和关系贴上来。
 
超过50个字段的表多如牛毛。
 
对了,还有我查过,你要想使access表的字段大于255,那只有等microsoft再发新版本了,
不过,这也许要等好几年,而且可能永远也不可能。你的这个念头应该打消,意思就是你
压根儿就不应该往这方面想。
我的见识可能比较少,上面的老兄所谓多于牛毛,可能是位见多识广的人,请宽恕我的无
知。
 
einstrain:
不好意思,是我没说清楚。我做的软件的最终用户和一般的软件的最终用户没有区别。
可我的做二次开发的用户是一些机关单位做资料管理的办公人员。他们可以想操作acess那样
在我的开发平台上建数据库,建表,设计用户录入界面,设计报表格式。因为水平有限我做
的二次开发平台有不可能太强大因此做二次开发的用户只能建独立的表不能建立表之间的关系。
仅有的一些必要的表间关系是一些可预知的,固定的,我在程序中预先固定下来了。用户无法
修改。
关于‘一条用户记录就是一张报表’:最终用户面对的软件是和现实中的报表一致的录入界面和
报表界面。而做二次开发的用户又不能建立表之间的关系,他们只能机械的把现实中的每张
报表的每个网格做一个字段来设计数据库的表了。当然如有别的好办法欢迎提出。
最后。谢谢einstrain和大家的热情参与,还希望大家多提建议。
gemsoft这里一并谢了。

 
einstrain建议你去看看经济业务的表,我见过的最多的有127个字段的表。哈哈。
 
我的项目主要是应用到建筑,监理和质量认证方面。现在发现的表多的已有300多个字段。
有时我真想改用sqlsever2000,它一个表可以建1024个字段,但老板说那样会失去一部分
低配置机器的市场。没办法。现在正用ljsh2008和booy的方法作实验,希望大家继续
提出好建议。
先谢谢了。
 
一下子这么多字段?怎么维护呢?你有没有想到后续的维护?

未思其成先虑其败,就不能用几个表,然后动态的同时调用在一起?
 
如果我理解的没错:你应该是想用户可能需要255以上的列是吧,而报表也要有相同的效果
对吧,而后用户在新列上输入数据,你就去数据库的表中加一字段;然后报表当然一张用户
表就是一个报表,这样设计起来你就轻松了是吧?如果是这样(可能大于255列),只能说
明你的做法在access数据表上行不通,不过我想你还是可以通过间接的方法来解决问题的。
虽然用户不能建立数据库之间的关系,但是你的程序可以啊,象上面很多人所说的,你可
以在你的数据库里面先建一张表(报表字段名表),比如:
报表字段名ID 用户报表id 字段名 字段类型
1 1 年龄
2 1 姓名
.....
1025 2 性别
............
然后建一张表:用户报表记录表
用户报表id 值
1 "23,'老张',..."
当然这样很麻烦,而且报表也要自己用程序画出来(录入和输出显示数据都比较麻烦),如
果真是这样,你不如用sql server 得了。也有另外一种折中的方法,就是建为用户报表建立
两张表(可能还无法满足要求),保持一对一的关系,这样录入和输出显示数据就比较方便
一点,但是报表也得自己画。

 
后退
顶部