我有三个表,主细三级,前二个表的记录都已录入完毕,可第三个表的记录要记录到第二个表相应的记录下,我是通过姓名定位的,用什么方法定位第二表好些,第二个表是第三个表的主表,相对第一表又是细表,不能用filter,而用locate姓名又有重复,很难定位。

解决方案 »

  1.   

    用master/detail结构,只不是本地表的话要建立index才可以
      

  2.   

                  A表            记录1               记录2.......
                   |
                  B表        |         |           |       |
                           记录1     记录2......  记录1   记录2 ....  
                   |
                  C表      |    |
                         记录1  记录2......
      

  3.   

    你的意思是不是a表对应B表B表在对应C表,现在要从A定位到C?
      

  4.   

    table1---家庭ID,个人ID
    table2---个人ID,家庭ID
    table3--记录号,个人ID
    家庭ID(T1)---家庭ID(T2)
    个人ID(T2)---个人ID(T3)
    table2的个人ID是唯一,但table3的内容他们在调查过程中不提供个人ID,我只好用姓名找到table2的相应记录后,再在其下记录Table3的多人记录
      

  5.   

    table2的个人ID是唯一,但table3的内容他们在调查过程中不提供个人ID,我只好用姓名找到table2的相应记录后,再在其下记录Table3的多个记录
      

  6.   

    而且要对table3做增加,删除等维护
      

  7.   

    目前我的水平还做不到这一点,table3的姓名不是主键,记录号是主键,是唯一
      

  8.   

    典型的用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的定位了。
    记得给分啊。
      

  9.   

    大哥,我的三个表均已建立了主细关系,没有一点问题,库结构也很合理,关键问题是
    c表调查过程中没有提供其主表(B)的主键字段的内容,我要想增加c表的记录,没法在b表中定位
      

  10.   

    我总不能Next,Next一个一个找呀,还请哥们援助
      

  11.   

    有什么不可以的你这样不就行了
      Table3.Append;
      Table3.FieldByName('c').AsInteger:=Table2.FieldBYName('a').AsInteger;
      Table3.FieldByName('name').AsString:=Edit1.Text;
      Table3.Post;
      

  12.   

    T0:SmallHand(火龍) 
    是的,他们提供的只有人名最可靠的了
      

  13.   

    不好意思,我想不到更好的办法,你只有通过SQL语句的模糊查询来得到姓名的结果,不过最好使用汉字拼音首字母来查找更方便些,超级猛料里面有例子。
      

  14.   

    超级猛料的下在地址:http://www.pfans.net
      

  15.   

    to:一无所有,你这样做是把表3中姓名为edit1.text的记录添加到表二中,但还是没有解决重名的问题。你的Table3.FieldByName('c').AsInteger:=Table2.FieldBYName('a').AsIntege中的‘C’和‘A’是指表二和表三建立关联的两个字段吧
      

  16.   

    SmallHand(火龍) 哥们,你可是五星级呀,我可对你抱最很大的希望呀