问题陈述:在Access数据库中有如下3个表:
_____________________________________
table1:学生信息表
id name
a 张三
b 李四
c 王五
d 赵六_____________________________________
table2:课程信息表
item_no item_name
YuWen 语文
ShuXue 数学
YingYu 英语
JSJ 计算机____________________________________
table3:学生课程成绩表
id item_no score
a YuWen 45
a ShuXue 52
b ShuXue 26
d JSJ 31备注:
在table3中可能没有全部的id,也可能没有全部的item_no!!!!!!
要求:
在一个控件中显示为如下格式,并且可以在控件中修改成绩,并保存!id YuWen ShuXue YingYu JSJ
a 45 52
b 26
c
d 31问题(基于Access的VC++编程):1.能否用一条SQL语句产生如此的记录集,如果能,请赐教此语句
2.要满足在控件中显示,修改,保存的要求,应该选择什么控件?
3.最好能说明一下是如何显示到此控件,如何保存的?

解决方案 »

  1.   

    1、是否能通过一条SQL语句来显示,由于对SQL语句研究的不是很深,不敢确定。
    2、选择MSFlexGrid和ListCtrl都可以。
    3、首先对表三建立CRecordSet,循环读取数据,然后向MSFlexGrid添加数据即可。
      

  2.   

    to:xindao_wang(小日本都是猪)
    谢谢回复!我试一下先.
    再问一下,再msflexgrid或listctrl中可以编辑文本吗?
      

  3.   

    msflexgrid没有编辑功能listctrl只能编辑一列
      

  4.   

    msflexgrid没有编辑功能,但是你可以通过重载函数完成编辑功能,
    比如双击删除当前行,可以在双击函数首先删除msflexgrid当前行,然后删除CRecordSet对应的数据行,即可。
    http://www.vckbase.com 中这样的源码很多,可以下一个看看。