我有两张表一张是班级基本信息表(即主表),一张是学生基本信息表(即明细表),
     我现在在DBLookupComboBox中显示表里所有的班级(名称),
     而用DBGrid显示学生基本信息,
     我用两组ADOQuery、DataSource组件来分别链接DBLookupComboBox与数据库、
DBGrid与数据库,DBLookupComboBox与DBGrid都分别可以显示各自的数据记录了,
但两者还没任何关系!!
     现在的问题是,怎样让这两者的数据关联起来呢,即:在下拉DBLookupComboBox选择不同班级时,DBGrid的学生信息也跟着变化:即只显示当前班级下学生情况??具体怎样做阿?
解决好马上给分!
万分感谢~~

解决方案 »

  1.   

    procedure TForm1.DBLookupComboBox1Click(Sender: TObject);
    begin
      这里得到你的班级名称,然后改你的学生信息表ADOQUERY的SQL语句;
    end;
      

  2.   

    班级有一列班级ID,是该表的主键,
    在学生基本信息表里也有一列是班级的ID,
    我在DBLookupComboBox显示的是班级name,KeyField值是班级ID,
    关键是我实在不知道怎样取得DBLookupComboBox选中的班级name对应的班级ID ???用“天外流星”的方法,Click事件里写:
    DBLookupComboBox1.DataSource.DataSet.FieldByName('id').Value;
    或者DBLookupComboBox1.datasource.dataset.fieldvalues['id']
    编译可以通过,但当程序运行到该处时必出异常!!!!!请问该怎么办阿?????
      

  3.   

    DBLookupComboBox listSource 选上你DBGRID的DataSource listfield选上班级name,keyfield选ID
      

  4.   

    好阿,发给我看看:[email protected]
    谢谢!!!
      

  5.   

    在COMBOBOX的ONCHANGE事件中写入更改DBGRID数据源的代码..