我用的是DAO数据库访问方式。现有个表
 姓名   语文   数学   英语   物理  
  王     90     85    68     78
  李     75     68    79     89
  刘     85     95    65     84
  张     82     68    73     68
 ....如果取单科前三名,将其内容放在msflexgrid 中显示,该怎么办? [不用'姓名'字段]大家能不能帮我想个办法?

解决方案 »

  1.   

    DAO不好控制,用ADO就好做些.
    用SQL语句把单课在前3的都取出来.
    在用个新记录集把他们都添加到记录集来在附给对象显示出来.
      

  2.   

    用SQL语句把单课在前3的都取出来放在記錄集 rslist 中,然后
        'msflexgrid 名DaGduser
        irows=5 '列數
        DaGduser.Cols = irows'列數
      
        DaGduser.Row = 0
        
        DaGduser.ColWidth(0) = 1
        DaGduser.TextArray(1) = "姓名"
        DaGduser.ColWidth(1) = 800
        DaGduser.TextArray(2) = "语文"
        DaGduser.ColWidth(2) = 900
        DaGduser.TextArray(3) = "数学"
        DaGduser.ColWidth(3) = 1400
        DaGduser.TextArray(4) = "英语"
        DaGduser.ColWidth(4) = 1400
        DaGduser.TextArray(5) = "物理"
        DaGduser.ColWidth(5) = 800
          Do Until rslist.EOF
             DaGduser.Rows = DaGduser.Rows + 1
             DaGduser.TextArray((DaGduser.Rows - 1) * irows + 0) = rslist.Fields(0)
             DaGduser.TextArray((DaGduser.Rows - 1) * irows + 1) = rslist.Fields(1)
             DaGduser.TextArray((DaGduser.Rows - 1) * irows + 2) = rslist.Fields(2)
             DaGduser.TextArray((DaGduser.Rows - 1) * irows + 3) = rslist.Fields(3)
             DaGduser.TextArray((DaGduser.Rows - 1) * irows + 4) = rslist.Fields(4)         rslist.MoveNext
        Loop