加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

ms-access – 为什么Microsoft Access表单会为一个查询而不是另

发布时间:2020-12-14 02:06:45 所属栏目:Windows 来源:网络整理
导读:我有一个Access数据库.让我们假装它是一家宠物商店. 有一张动物桌子. Animals (animal_id,birth_date,price) 然后是我们销售的不同类型动物的特定表格. Dogs (animal_id,bark_volume)Cats (animal_id,collar_size,shedding_rate)Fish (animal_id) 鱼没有趣味
我有一个Access数据库.让我们假装它是一家宠物商店.

有一张动物桌子.

Animals (animal_id,birth_date,price)

然后是我们销售的不同类型动物的特定表格.

Dogs (animal_id,bark_volume)
Cats (animal_id,collar_size,shedding_rate)
Fish (animal_id)

鱼没有趣味,所以它们没有任何特殊的领域. Fish表存在,因此您知道Animals表中的哪些记录是鱼.

现在,我有一个通用的表格,可以将宠物添加到宠物商店.在你获得表格之前,首先要说明你要添加什么样的动物.基于此,表单显示/隐藏字段,更改其记录源,并将字段绑定到适当的数据列.表单从查询DogInfo,CatInfo和FishInfo中提取数据.

现在,当你进入一只狗或一只猫时,一切都很好.记录被添加到动物和狗或猫.

然而,当你进入鱼类时,你得到的只是动物,没有鱼.

可能是什么导致了这个?是不是因为鱼桌上缺少其他栏而引起的?

(让我们撇开这样一个事实,即使用select查询更新表格根本就没有意义.我没想到Access首先让我这么做,但Access的座右铭似乎是“让错误的事情变得容易”做得和正确的事情很难做到.“数据库相对简单且不经常使用,并且它比我开始工作之前至少好100倍,所以我真的不太担心这个问题只要我能使它工作.)

解决方法

“是不是因为Fish桌上缺少其他栏目而引起的?”

是 – 当您在子记录(狗和猫)上输入数据时,Access将自动填写父ID(animal_id)

由于鱼类记录没有数据条目,因此无法创建.你必须在代码中这样做.不确定您的表单和数据源是如何设置的,但您可以在其中一个表单事件上执行以下操作:

Fish![animal_id] = Animal![animal_id]

编辑

在你的FishInfo查询中,你必须给Fish.[animal_id]一个别名 – 你不能有两个同名字段 – 称之为Fish_animal_id

然后在Form_BeforeUpdate事件中输入:

Me.Fish_animal_id = Me.animal_id

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读