Office中国论坛/Access中国论坛

标题: :(我陷入死胡同了,到现在还是无法领会表的设计要点:( [打印本页]

作者: 简    时间: 2012-2-25 22:48
标题: :(我陷入死胡同了,到现在还是无法领会表的设计要点:(
我去年发过一篇帖子,是关于数据表的规划,即http://www.office-cn.net/thread-97140-1-1.html

到现在来,我还是无法领会数据表的设计要点,我知道像类似员工表,班组表等,要设置一个ID字段来表示唯一。当我在表中用ID字段后,对于输入数据,模糊筛选,统计等,我无法运用得顺心应手,面对一个又一个错误提示,把情绪弄得很糟糕,最后没办法,又走回老路,只要数据库能使用,能运行就行了。

诶,~~~
作者: JosephTan    时间: 2012-2-26 04:41
其实,如果想系统学习数据库还是应该老老实实的先看看书。
想快的话你就看多例子的,从别人的例子学。想真正学数据库还要看一些数据库设计方面的。当然要从表的设计入手,老汉给你的建议很好。不过我知道你是在工作。所以我建议你还是多看别人的例子,拿一些多例子的书来看吧。
作者: yanghua1900363    时间: 2012-2-26 08:59
在表的设计上,我的体会是:1、选择物的固有属性,灵活选择物的附加属性。如员工表:在一个组织中他的固有属性可以选择“编号、姓名、年龄、性别”就可以了,至于“婚否”这个属性就要看组织是否要对员工是否结婚进行管理来定了。毕竟我们不是搞户籍登记的。这一条处理了单个表的基本信息;2、从实践中来到实践中去,与管理实务不相符的地方,只说明了两个问题:一 管理中应该考虑到的问题在数据库设计之初没有考虑到,或者管理者没有提出这个要求;二 数据表间的关系没有处理好,应在主表中处理的问题放在了从表中,反之亦然。没办法只能在使用中再修改了。有一种情况除外:即使目前很成熟的软件公司,为了达到数据录入直观的效果,违背使用者的意愿,把主从表的数据混为一谈,为其名曰“软件只能解决企业80%的问题,20%是需要企业自行解决的”。这是一种资源的浪费!
作者: ycxchen    时间: 2012-2-26 10:54
1、当一些字段(例如,姓名)出现重复值时,你在处理数据(统计、查询)等时你会发现自动编号的ID多么有用。
2、自动编号的ID不是随意可以修改的,你自己定义的字段的值可随意修改,所以,可从ID大小初步分析记录录入的前后,对防家贼很有用。
3、如果没有ID,试问,主子窗体、报表如何设计?
    表是数据库的设计的基础,要认真三思。
作者: 简    时间: 2012-2-26 14:30
以我上传的例子为例,当我在工序里输入磨时,员工控件里自动筛选出该工序下的员工,显示的是姓名,而不是id,还有,我能在员工控件里模糊筛选,比如我输入“张”时,自动显示姓张的员工。

我大概晓得id的作用,比如员工电话有变动时,我只需要在主表里修改了员工电话,其它跟该主表有关联的表里的员工电话就会跟着改变。

但我就是搞不清楚关系表主表和关联表里的id在数据输入和查询里的运用,尤其是查询筛选,还请大家多多帮我。

[attach]48482[/attach]

[attach]48483[/attach]

作者: todaynew    时间: 2012-2-26 18:26
简 发表于 2012-2-26 14:30
以我上传的例子为例,当我在工序里输入磨时,员工控件里自动筛选出该工序下的员工,显示的是姓名,而不是id ...

第一个问题:在员工控件中,设置数据源为员工表,假设员工表前两列分别为员工ID和姓名,则继续设置控件的绑定列为1,列数为2,列宽为0cm:1.2cm
第二个问题:在组合框的更改事件中,用组合框字筛选的方法解决姓名输入过程中的组合框数据源筛选。具体实现方法,请在论坛查找相关示例,应该有一大推。
作者: 简    时间: 2012-2-26 18:46
todaynew 发表于 2012-2-26 18:26
第一个问题:在员工控件中,设置数据源为员工表,假设员工表前两列分别为员工ID和姓名,则继续设置控件的 ...

我觉得你没有弄懂我的意思。
第一个问题,我希望的效果是员工控件根据工序控件的值做筛选,即缩小范围来查找;如果不涉及到缩小范围的查找,数据源肯定是员工表了啦。
第二个问题,是在第一个问题的基础上再进行模糊查找,即缩小范围后又继续模糊搜索,以此提高输入效率。

对此,id在里面的代码处理及设置,我不知道该怎么做才好。
作者: todaynew    时间: 2012-2-26 18:48
简 发表于 2012-2-26 18:46
我觉得你没有弄懂我的意思。
第一个问题,我希望的效果是员工控件根据工序控件的值做筛选,即缩小范围来 ...

我记得给你写过这个问题的例子,再翻出来看看就明白了。
作者: 简    时间: 2012-2-26 19:55
todaynew 发表于 2012-2-26 18:48
我记得给你写过这个问题的例子,再翻出来看看就明白了。

就是因为不明白,道路越走越窄成了死胡同~~~
作者: t小宝    时间: 2012-2-26 20:40
你是希望把表设计得在窗体中非常容易筛选查询,不用写什么代码,
别人的建议是把表设计得在非常适合在数据库中存储,即占用空间小,查询速度快。
如果你的数据库记录不是非常多,速度要求不是非常高,你尽可按你的思维来设计表,
不一定非要设计得符合什么标准,只要实用就行,
ACCESS的包容性还是很大的,就是说它可以容纳很多种设计,很多种特殊情况,而不会崩溃。。。

作者: 简    时间: 2012-2-26 22:12
问问:

我想把窗体中的开始时间和结束时间赋给查询对象,如图所示,应该怎么赋值才会在查询视图中显示这个开始和结束日期呢。

[attach]48490[/attach]
作者: 简    时间: 2012-2-26 22:27
t小宝 发表于 2012-2-26 20:40
你是希望把表设计得在窗体中非常容易筛选查询,不用写什么代码,
别人的建议是把表设计得在非常适合在数据 ...

这话说在我心坎上了,我是不是太拘泥于规范与形式了呢,只要数据库能用,实用,就是硬道理。
作者: ycxchen    时间: 2012-2-27 14:42
本帖最后由 ycxchen 于 2012-2-27 14:43 编辑
简 发表于 2012-2-26 22:27
这话说在我心坎上了,我是不是太拘泥于规范与形式了呢,只要数据库能用,实用,就是硬道理。


我认为你这样的学习态度对你及ACCESS初学者来说是一种误导!你目前连组合框的数据源设置还没有明白,就想自立门户了,行吗?别人是在透彻理解了ACCESS各项相关原理后设计才不太拘泥于规范的,还是希望你把基础打好,言重了,见谅!
作者: 简    时间: 2012-2-27 18:23
ycxchen 发表于 2012-2-27 14:42
我认为你这样的学习态度对你及ACCESS初学者来说是一种误导!你目前连组合框的数据源设置还没有明白,就 ...

你说得太对了,我一定改正。
千里之行,始于脚下,数据库还是要把表结构弄懂才是。
以后还请你继续对我严厉批评和指导,在此先谢了。
作者: ycxchen    时间: 2012-2-28 08:36
简 发表于 2012-2-27 18:23
你说得太对了,我一定改正。
千里之行,始于脚下,数据库还是要把表结构弄懂才是。
以后还请你继续对我 ...

相互学习,共同进步吧!
作者: asklove    时间: 2012-2-28 10:07
经验之谈,手抄了
作者: ycxchen    时间: 2012-2-28 14:54
我以前下载的例子,组合框1的值能筛选组合框2的值,是简友要的效果,供参考。[attach]48514[/attach]




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3