记录定位或过滤的问题 我有三个表,主细三级,前二个表的记录都已录入完毕,可第三个表的记录要记录到第二个表相应的记录下,我是通过姓名定位的,用什么方法定位第二表好些,第二个表是第三个表的主表,相对第一表又是细表,不能用filter,而用locate姓名又有重复,很难定位。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用master/detail结构,只不是本地表的话要建立index才可以 A表 记录1 记录2....... | B表 | | | | 记录1 记录2...... 记录1 记录2 .... | C表 | | 记录1 记录2...... 你的意思是不是a表对应B表B表在对应C表,现在要从A定位到C? table1---家庭ID,个人IDtable2---个人ID,家庭IDtable3--记录号,个人ID家庭ID(T1)---家庭ID(T2)个人ID(T2)---个人ID(T3)table2的个人ID是唯一,但table3的内容他们在调查过程中不提供个人ID,我只好用姓名找到table2的相应记录后,再在其下记录Table3的多人记录 table2的个人ID是唯一,但table3的内容他们在调查过程中不提供个人ID,我只好用姓名找到table2的相应记录后,再在其下记录Table3的多个记录 而且要对table3做增加,删除等维护 目前我的水平还做不到这一点,table3的姓名不是主键,记录号是主键,是唯一 典型的用master/detail,你放3个Ttable控件,Table1指A,Table2指B,Table3指C,放3个TDataSource,DataSource1指Table1,DataSource2指Table2,DataSource3指Table3在在Table2的mastersource,属性中指向Datasource1,Table3的mastersource,属性中指向Datasource2。在Table2的masterFields中编辑与table1关联的字段,同理在Table3的masterFields中编辑与table2关联的字段。这样就把三个表关联起来了,把3个表打开,b,c表的移动根据table1的定位了。记得给分啊。 大哥,我的三个表均已建立了主细关系,没有一点问题,库结构也很合理,关键问题是c表调查过程中没有提供其主表(B)的主键字段的内容,我要想增加c表的记录,没法在b表中定位 我总不能Next,Next一个一个找呀,还请哥们援助 有什么不可以的你这样不就行了 Table3.Append; Table3.FieldByName('c').AsInteger:=Table2.FieldBYName('a').AsInteger; Table3.FieldByName('name').AsString:=Edit1.Text; Table3.Post; T0:SmallHand(火龍) 是的,他们提供的只有人名最可靠的了 不好意思,我想不到更好的办法,你只有通过SQL语句的模糊查询来得到姓名的结果,不过最好使用汉字拼音首字母来查找更方便些,超级猛料里面有例子。 超级猛料的下在地址:http://www.pfans.net to:一无所有,你这样做是把表3中姓名为edit1.text的记录添加到表二中,但还是没有解决重名的问题。你的Table3.FieldByName('c').AsInteger:=Table2.FieldBYName('a').AsIntege中的‘C’和‘A’是指表二和表三建立关联的两个字段吧 SmallHand(火龍) 哥们,你可是五星级呀,我可对你抱最很大的希望呀 100分求为什么会内存泄露 服务器端测试客户端 IE 的语言版本﹖ 求SQL语句 一个关于路径的问题? 我怎样得到一个数据集的字段的值 应用程序服务器怎样根据IP限制客户端的连接???急!!!!!!!!! 哪有Installshield的完全功能版下载,分好说! 如何自动向表中输入数据? stringgrid 当前行颜色问题请教 如何用dbgrid来显示多数据表内容。条件是不能做记录匹配. 请问DELPHI的VCL是什么? 用DBLookupcomboBox控件实现两个表关联操作问题?
|
B表 | | | |
记录1 记录2...... 记录1 记录2 ....
|
C表 | |
记录1 记录2......
table2---个人ID,家庭ID
table3--记录号,个人ID
家庭ID(T1)---家庭ID(T2)
个人ID(T2)---个人ID(T3)
table2的个人ID是唯一,但table3的内容他们在调查过程中不提供个人ID,我只好用姓名找到table2的相应记录后,再在其下记录Table3的多人记录
放3个TDataSource,DataSource1指Table1,DataSource2指Table2,DataSource3指Table3在在
Table2的mastersource,属性中指向Datasource1,Table3的mastersource,属性中指向Datasource2。在Table2的masterFields中编辑与table1关联的字段,同理在Table3的masterFields中编辑与table2关联的字段。这样就把三个表关联起来了,把3个表打开,b,c表的移动根据table1的定位了。
记得给分啊。
c表调查过程中没有提供其主表(B)的主键字段的内容,我要想增加c表的记录,没法在b表中定位
Table3.Append;
Table3.FieldByName('c').AsInteger:=Table2.FieldBYName('a').AsInteger;
Table3.FieldByName('name').AsString:=Edit1.Text;
Table3.Post;
是的,他们提供的只有人名最可靠的了