Office中国论坛/Access中国论坛

标题: 一对多关系的数据录入、修改问题请教 [打印本页]

作者: tomuch    时间: 2008-7-23 14:15
标题: 一对多关系的数据录入、修改问题请教
一对多关系的数据录入、修改问题请教
两张表:车辆基本信息表(“车牌”为主键) 、调查表,二者之间是一对多关系,

要求实现的功能:数据录入界面中,最好可以如图2所示 录入车辆基本信息和调查数据。
简要说明一下本数据库的目的:本例中下发到调查员手中的实际调查表与图2相似,调查员调查并填写每辆被调查车辆的里程表读数(这是最关键的数据)和基本信息。由于调查是按季度进行,所以几个季度下来,同一辆车会有历史数据保存数据库中。
请指教,谢谢

出现的问题:1)窗体采用主窗体、子窗体模式时,数据可以正常录入。录入数据时不希望在子窗体中显示以前录入的调查数据,请问如何实
现?(如果数据库中有某牌号的车以前有调查数据,就会显示在子窗体中,在数据录入时这这是不希望的)
2) 采用表格方式录入时,会出现时间格不能输入数据的问题,请问如何解决?
上传的附件中暂未考虑车辆信息中车牌号必须唯一的问题。

源码[attach]31163[/attach]


图1
[attach]31161[/attach]



[attach]31162[/attach]图2
作者: liwen    时间: 2008-7-23 15:20
1.将子窗体"数据输入"改为:是
2.将你的窗体数据源改一下如:
SELECT 车辆基本信息表.牌照号, 调查表.牌照号 AS 调查牌照号, 车辆基本信息表.所在省份, 车辆基本信息表.所在地市, 车辆基本信息表.车长, 调查表.本次里程表读表日期, 调查表.本次里程表读数
FROM 车辆基本信息表 INNER JOIN 调查表 ON 车辆基本信息表.牌照号 = 调查表.牌照号;
作者: tomuch    时间: 2008-7-23 15:30
原帖由 liwen 于 2008-7-23 15:20 发表
1.将子窗体"数据输入"改为:是
2.将你的窗体数据源改一下如:
SELECT 车辆基本信息表.牌照号, 调查表.牌照号 AS 调查牌照号, 车辆基本信息表.所在省份, 车辆基本信息表.所在地市, 车辆基本信息表.车长, 调查表.本次里 ...


版主厉害,
问题2 的解决方法中多了“, 调查表.牌照号 AS 调查牌照号”一项,我只知其然不知其所以然,请版主指教,
谢谢了

[ 本帖最后由 tomuch 于 2008-7-23 15:45 编辑 ]
作者: tomuch    时间: 2008-7-24 09:18
自己顶起来
作者: liwen    时间: 2008-7-24 11:30
你原先的查询中不包括调查表的牌号,那么根据对应关系,你信息表中必须有对应的牌号存在,调查表中才能输入数据。
如果你在查询中新增一个信息表的牌号并保存后,你相应的调查表中就能输入里程就能输入数据了。
更改后的查询其实也还存在问题,那个查询也不能输入信息表中重复的牌号,只是由于那个多方的牌号的存在,在输入里程时,在对应的牌号中会自动填入牌号。

也就是说,这种一对多格式本身就不适合用这种查询的格式。
作者: tomuch    时间: 2008-7-24 14:23
原帖由 liwen 于 2008-7-24 11:30 发表
你原先的查询中不包括调查表的牌号,那么根据对应关系,你信息表中必须有对应的牌号存在,调查表中才能输入数据。
如果你在查询中新增一个信息表的牌号并保存后,你相应的调查表中就能输入里程就能输入数据了。
更 ...


谢谢,受益匪浅




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