不要这样苦恼,麻烦是有点麻烦,但也不是很难的。
我不会用DELPHI,PB也很水,不过你这个问题我的看法是这样的,提供一个思路:
你的表设计没有问题,应该是这样设计的。
你用MSHFGRID 控件就可以了(不知DELPHI、PB 中能不能用),录入前生成一个交叉表格的样子。若以前有成绩数据,从数据库中取出数来填到对应的单元格中去。成绩表录入在此控件上进行,在窗体上加个保存按钮,需要保存时按表格中的内容进行相应的数据库操作。
MSHFGRID 不能直接修改,所以你需要加一个TEXTBOX或其他的控件来录入数据。录入后的内容再反映到MSHFGRID中去。具体内容也很多,要注意的细节也很繁琐,就不细说了。你可以查一下
我不会用DELPHI,PB也很水,不过你这个问题我的看法是这样的,提供一个思路:
你的表设计没有问题,应该是这样设计的。
你用MSHFGRID 控件就可以了(不知DELPHI、PB 中能不能用),录入前生成一个交叉表格的样子。若以前有成绩数据,从数据库中取出数来填到对应的单元格中去。成绩表录入在此控件上进行,在窗体上加个保存按钮,需要保存时按表格中的内容进行相应的数据库操作。
MSHFGRID 不能直接修改,所以你需要加一个TEXTBOX或其他的控件来录入数据。录入后的内容再反映到MSHFGRID中去。具体内容也很多,要注意的细节也很繁琐,就不细说了。你可以查一下
解决方案 »
- 取得数据
- 问2个关于隔离级别和锁的问题
- pw_code 列为唯一标识列,都是以cms_开头,后面的数字为自增的。这样的效果怎样才能实现?谢谢!
- 菜鸟求助一道简单SQL查询语句题目 急!!
- 这样的存储过程怎么写?
- 流水明细帐行列转换及计算期初期未数据
- 大家来看看这个SQL语句该如何写,在线急等
- 急!: 怎么给记录的image字段分配一个有效的地址空间---(在线等)
- 一个关于数据表id号的疑问!
- 字符串如何归类连接?
- 关于建库的问题,我实在是不会了,请大家帮忙!!!
- 请问:SQL Server 70 的 floate 类型的数据在 PB 中用什么类型的变量对应。在从数据窗口中得到时用 getitemnumber 行吗?有什么区别?
不过MSHFGRID是什么控件,vb的么
言归正传,我觉得你根本不必做这样的输入界面,换成只输入
学号,课程号,成绩的界面,输入学号时提示姓名,输入课程号时提示课程名,
至多做到可以选择"姓名"来输入学号,选择课程名来输入课程号.
报表才作成
sno sname 课程1 课程2 课程3 课程4 课程5...
0909 王华 98 87 45 54 56
8343 黎明 76 67 98 69 67
0987 张强 87 98 77 89 68
!!
刚好我前一段时间有做过!用来管理工序调度计划的(可惜我是用VB实现的,^_^)
给个思路!
库结构不用变!
1:首先形成你所需交叉表(用 存储过程(IF SQL Server);视图(IF ACCESS),数据是只读的)
可以做到动态列!
2:用网格来显示交叉表;(推荐用VSgrid!或者MSHFGRID+TEXT)
3:用网格的CELL_CHANGE(row,col)事件,根据行和列来添加,修改数据库(注意NULL情况)
然后再刷新网格
4:我的情况比你复杂多了!细节问题自己处理!
我提供一个建议:
这个问题其实也就是近似于把一个表格转了90度,dephi我是门外汉,vfp中有数组变量,我想dephi。
这样子。建临时表输入,录入界面的sno,sname部分先不考虑,把课程成绩信息赋给数组变量。array1(row,col),建array2(col,row),然后把行列互换,再然后你只要考虑把成绩表里的sno填上就行了,这就很简单了。因为换过来的课程1,2,3,4,5门课的信息每个人都有
网上MM少!
MSDN上MM更少!
能够让我遇见,又解风情的----没有!
不好意思拿你的贴子开了几句玩笑,请别介意。TO: 大家:
郑重声明:本人,男,31岁,已婚,有一子,7岁。请大家千万不要搞错:)
这句话怎么这么经典,就为这句话,贴主可以加分了^@^
这个问题,我今天做财务报表刚试过,你可以一试
下面sql语句可把第一个表旋转90度
SELECT Year,
SUM(CASE Quarter WHEN 1 THEN Amount ELSE 0 END) AS Q1,
SUM(CASE Quarter WHEN 2 THEN Amount ELSE 0 END) AS Q2,
SUM(CASE Quarter WHEN 3 THEN Amount ELSE 0 END) AS Q3,
SUM(CASE Quarter WHEN 4 THEN Amount ELSE 0 END) AS Q4
FROM Northwind.dbo.Pivot
GROUP BY YearYear Quarter Amount
---- ------- ------
1990 1 1.1
1990 2 1.2 Year Q1 Q2 Q3 Q4
1990 3 1.3 ==> 1990 1.1 1.2 1.3 1.4
1990 4 1.4 1991 2.1 2.2 2.3 2.4
1991 1 2.1
1991 2 2.2
1991 3 2.3
1991 4 2.4
不过这只能用做显示,delphi中的decisioncube和pb中的交叉报表都有这样的功能。要输入就只能用临时表了