数据库中,表A和表B是一对三的关系(通过表A的编号实现)。
在窗口里,通过ADO DATA控件连接表A,并通过多个TextBox显示其中一条记录。
在同一个窗口里,同时通过TabStrip分三个TAB来显示对应表B的记录。
当窗口中表A的记录改变时,在TabStrip中的表B记录也会改变。
但具体怎么实现,我找不到适合的方法。希望各位高手帮忙,如果觉得给分不够多,这不是问题,我会另加的。
如果觉得我说的不够清楚,请提出来,谢谢!

解决方案 »

  1.   

    因为表B的记录是根据表A的某一条记录中的主键(编号)筛选出来的
    但这个动态的筛选的过程我不会在vb中实现啊,
    现在只可以静态的显示表A一条记录对应的表B的三条记录,是通过在ADO DATA控件属性中加入SQL的查询语句(SELECT * FORM 表B WHERE 编号=N'B001')来实现的。
    注:B001就是关键字-编号,我希望的就是把BOO1替换成窗口里text1.text(他显示的是表A中一条记录的编号),
      

  2.   

    简单有效的方法,你可以建立一个视图,ADO连接这个视图,问题就解决了。
      

  3.   

    select a.*,b.* from a inner join b on a.id = b.aid where a.id=?
    一个sql读出三条记录,然后把对应的字段值赋给对应的控件就OK了。
    这是最快的读取,显示方法.当然这要看你的ado对象操作熟练程度了。
      

  4.   

    谢啦,对ADO的认识我还停留在肤浅的位置,不过我用了一个比较笨的办法解决了。
    就是在用一个ADO控件指向表B,在TEXT1的CHANGE事件里对表B进行的查询,得出的记录集显示在TABSTRIP里