能不能在数据控件分多列显示记录,而不是一直向下显示
有时候要显示的记录只有一俩个项目,没有必要向下一直显示,想分成多列来显示。
例如:
————————————————————————————
|姓名|成绩   |姓名|成绩|   姓名| 成绩|
_________________________________________________________
这样分多列显示
请高手们赐教

解决方案 »

  1.   

    用msflexgrid
    http://www.google.com/search?hl=zh-CN&inlang=zh-CN&ie=GB2312&q=msflexgrid+%CF%C2%D4%D8&lr=lang_zh-CN
      

  2.   

    如果你的表里面有一个ID字段是从1到n的(n<=1);
    那么可以用以下语句查询出来你要的效果;SELECT [姓名],[成绩],(SELECT [姓名] FROM [表] AS [表1] WHERE [ID]=[表].[ID]+1) AS [姓名1],(SELECT [成绩] FROM [表] AS [表2] WHERE [ID]=[表].[ID]+1) AS [成绩1],(SELECT [姓名] FROM [表] AS [表3] WHERE [ID]=[表].[ID]+2) AS [姓名2],(SELECT [成绩] FROM [表] AS [表4] WHERE [ID]=[表].[ID]+2) AS [成绩2] FROM [表] WHERE INT(([ID]-1)/3)=(([ID]-1)/3以上语句在Access中调试通过
      

  3.   

    注意上面给的查询中ID必须是从1或者任何一个被3除余1的数开始。
    不然就会丢掉前一两项数据。
    如果你希望显示ID那么可以使用如下办法:SELECT '' AS [基坐标],'1' AS [姓名1],1 AS [成绩1], '2' AS [姓名2],2 AS [成绩2], '3' AS [姓名3],3 AS [成绩3] FROM [表]
    UNION
    SELECT [ID]-1,[姓名],[成绩],(SELECT [姓名] FROM [表] AS [表1] WHERE [ID]=[表].[ID]+1) AS [姓名1],(SELECT [成绩] FROM [表] AS [表2] WHERE [ID]=[表].[ID]+1) AS [成绩1],(SELECT [姓名] FROM [表] AS [表3] WHERE [ID]=[表].[ID]+2) AS [姓名2],(SELECT [成绩] FROM [表] AS [表4] WHERE [ID]=[表].[ID]+2) AS [成绩2] FROM [表] WHERE INT(([ID]-1)/3)=([ID]-1)/3
      

  4.   

    可不可以用datagrid这样类似的控件来实现,
    不过我的数据表中没有ID字段从1-n的,可不可以自己做一个控件来实现,怎么做了
      

  5.   

    msflexgrid 可以多列显示数据吗?
      

  6.   

    添加一个ID
    直接查询的办法,我根本想不到如何分列啊,
    必须有一个参照列。
    用什么控件都无所谓,这个查询的效果就是按照ID将数据分列。
      

  7.   

    试了一下你的方法
    好像第二列数据不显示
    改成下面方式可以
    SELECT student.sName, student.cxf, student_1.sName, student_1.cxf FROM student, student AS student_1 WHERE ((Int((student.[No]-1)/2)=((student.[No]-1)/2)) And (student_1.[No]=student.[No]+1));
      

  8.   

    自己改改啦,
    反正我试验好用呢~
    第二个语句没有调试。
    第一个调试了。在Access下。
      

  9.   

    funidudu(你怎么知道我不知道)
    你上网找一下 交叉查询,很简单啦~
      

  10.   

    feihong0233(泓) :我知道了,谢谢啊。