先说说过程。。有一张表叫“stu”,如图示:现在要在两个文本框内输入数值,如图示:然后按下“Command1”,要产生的结果如图示:“txtWho”中的数值代表前几名,“txtHow”中的数值代表奖励多少对于实现这个,小弟现在有两种设想,可能有的设想根本无法实现(我初学者,莫见笑哈):设想一:能不能用SQL语句直接把表和控件联系起来直接生成结果设想二:先用SQL语句把两个文本框的值生成如下图这样的新表:然后把两个表再用SQL语句联接起来请老手们帮我参考下哪种能实现好实现,麻烦大家把运算的SQL语句贴一下,不胜感激!

解决方案 »

  1.   

    忘记说了,是Access“stu”表还不是一个表,只是一个SQL查询;放结果的那个表也要是一个SQL查询如果采用设想二,生成的那个“mon”表可以是实际的表,也可以是一个SQL查询
      

  2.   


    其实“name”字段的排序是根据另一个字段的desc排序得来的,但是也要掺杂进人为的选择,比如说,“己”和“庚”在另一个字段上是同序,但如果在“txtWho”输6,那“庚”也会被扣除在外,因此说出来比较复杂,我就把那另一个字段给省略不说了呵呵
      

  3.   

    就用第一种吧(设你的name是排序好的)
    select [name],iif([name] in (select top 6 [name] from stu),200,'') as [money] from stu
      

  4.   


    单纯放在ACCESS中用这语句来查询,好像完全正确,但我用控件值作为变量怎么就出错了呢我是这样写按钮事件代码的:rs.Open "select [name],iif([name] in (select top" & Val(txtWho.text) & "[name] from stu)," & Val(txtHow.text) & ",'') as [money] from stu", conn, adOpenKeyset, adLockOptimistic 
    运行时提示:至少有一个参数没有被指定值
      

  5.   

    晕,可以了可以了,原来top后面和[name]前面要加个空格,哈哈,对king06大神不胜感激啊呵呵