回 帖 发 新 帖 刷新版面

主题:求助DELPHI中我解决不了的问题,高手帮忙。

有个问题想请教下各位,知道的话帮下忙:
我有 数据表(xbbh)  两个字段(系部编号,系部名称)
                             01  机械系
                             02  建筑系
                             03  工商系
数据表(zydm)  三个字段(专业代码,专业名称,系部编号)
                             0101  冶金技术       01
                             0102  液压技术       01
                             0201  工程造价       02
                             0202  建筑工程技术   02
                             0301  物流管理       03
                             0301  工商管理       03    
我设置了两个表的主键(xbbh--系部编号)与外键(zydm--系部编号) 
我在Form1 上放上dbcombobox1,dbcombobox2, 两个控件
我希望利用dbcombobox1下拉列表选择系部,Dbcombobox2中的下拉列表中应该是所选系部所包含的专业。
如:dbcombobox1选择机械系,dbcombobox2列表中应该是(冶金技术和液压技术),
dbcombobox1选择工商系,dbcombobox2列表中应该是(物流管理和工商管理)两项


email:bgdxlhb@163.com

回复列表 (共4个回复)

沙发

我试这样的,用到的控件有dbcombobox1,dbcombobox2,adoquery1,adotable1,adoconnection,datasource1,
datasource2

先用adoconnection1连数据库,datasource1的dataset连adoquery1,adoquery1的connection连adoconnection1,
然后sql.add('select * from xbbh');     active变true
dbcombobox1的datasource连datasource1,datafield里选 "系部名称"

datasource2.dataset连adotable1
adotable1.connection连adoconnection1,tablename连zydm,mastersource连datasource1,打开masterfield属性,在对话框里detailfield里选"系部编号",在masterfield里选"系部编号",点ADD,OK

DBcombobox2.datasource连datasource2,datafield选"专业名称",最后ADOtable1.active:=true;就OK了

板凳

一楼楼主,我的意思是下拉列表中显示所有的系部名称,当我选择了某一个系部后,专业下拉列表中应该是该系部所包含的专业

3 楼

把系部编号写到combobox中,如“0001-中文系,0002-历史系”...等,
然后在Combobox的OnChange事件中写代码,取出copy(combobox1.text,1,4)作为关键字
值,再过滤专业表,显示。

4 楼

那很简单啊
用个while循环就可以完成了啊

我来回复

您尚未登录,请登录后再回复。点此登录或注册