标题:查询结果在表单表格中显示不出来
只看楼主
且行06
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-6-8
结帖率:100%
已结贴  问题点数:15 回复次数:21 
查询结果在表单表格中显示不出来
有学生表(学号,姓名,性别),选课表(学号,课程号),课程表(课程号,课程名)
表单中有一个文本框,一个命令按钮,一个表格,在文本框内输入学号,查询学生的学号,姓名,性别,课程号,课程名,学分;并将结果显示在表格中。问题来了,表格中一直显示不出来查询结果!!
a=allt(this.text1.value)
loca for 学号=a
if found()
 select distinct  学生.学号,学生.姓名,学生.性别,课程.课程号,课程.课程名,课程.学分
    from 学生信息!学生inner join学生信息!选课;
       inner join 学生信息!课程;
      on课程.课程号=选课.课程号;
      on学生.学号=选课.学号;
     where学生.学号="a"
      order by学生.学号;
      into cursor kc
thisform.grid1.recordsource="kc"
else
   messagebox("查无此人",64,"系统")
endif
thisform.refresh

请各路大神招

[ 本帖最后由 且行06 于 2015-6-9 07:20 编辑 ]
搜索更多相关主题的帖子: 课程表 文本框 inner 信息 姓名 
2015-06-09 00:26
muyubo
Rank: 9Rank: 9Rank: 9
来 自:山东莱芜
等 级:蜘蛛侠
威 望:3
帖 子:471
专家分:1017
注 册:2011-3-6
得分:3 
最好能看到你的代码.
2015-06-09 05:49
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:3 
你代码是怎么写的 帖上来
2015-06-09 06:39
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:3 
显示不出来的情况可能有:
1、select命令本身就没有筛选出有效的记录;
2、表格的数据源没有设置正确。

活到老,学到老! http://www. E-mail:hu-jj@
2015-06-09 06:40
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
先查下你的select查询是否有结果
2015-06-09 07:31
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
传上你的部分数据表 帮你看看
2015-06-09 07:31
且行06
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-6-8
得分:0 
回复 5楼 tlliqi
查询结果在临时表中看不到
2015-06-09 07:40
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
以下是引用且行06在2015-6-9 07:40:21的发言:

查询结果在临时表中看不到
直接运行看看嘛 如果没结果 临时表中看不到
2015-06-09 07:51
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:3 
刷新界面

坚守VFP最后的阵地
2015-06-09 09:42
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
得分:3 
楼主,一般出现这种情况就是4楼所说的两种,你可以用排除法甄别。第一步:如8楼所言,把你的SELECT-SQL命令去掉INTO CURSOR子句后,在命令窗口单独运行一下,看看弹出的查询结果列表中是否有记录出现。如果没有记录,你就要把修改重心放在这条命令上,排除错误,使命令运行后出现正确的结果。第二步:在第一步能出正确结果的情况下,看看设置得对不对。据我的经验,你可以先对表格本身的外观进行一些设置,再设置表格列,最后设置表格的数据源,即:RecordSourceType=1,RecordSource=表文件名(用双引号括起)。
以下是我一个系统中的代码,供你参考:

PROCEDURE 院系修改单最多
   **************
   * 先创建查询 *
   **************
   SELECT 送交院系,COUNT(DISTINCT 编号) 修改单张数 ;
      FROM 成绩修改单登记;
      GROUP BY 送交院系;
      INTO CURSOR T7
   SELECT DISTINCT COUNT(T7B.送交院系)+1 排名,T7A.* ;
      FROM T7 T7A ;
         LEFT JOIN T7 T7B ON T7A.修改单张数<T7B.修改单张数;
      GROUP BY T7A.送交院系,T7A.修改单张数;
      ORDER BY 排名;
      INTO CURSOR T_Papers
   SELECT T_Papers

   ********************
   * 再构建表格并显示 *
   ********************
   WITH Main.全部功能.统计.排名表
      .AllowHeaderSizing=.F. &&不允许调整表格标题行大小
      .DeleteMark=.F. &&不显示删除标志列
      .AllowCellSelection=.F. &&不能选择单个单元格,只能整行选择
      .HeaderHeight=22 &&表格标题行高度设为22
      .ColumnCount=3

      WITH .Columns(1)
         .Alignment=2 &&字段内容居中
         .Width=30
         .Header1.Caption="排名"
         .Header1.Alignment=2
      ENDWITH

      WITH .Columns(2)
         .Alignment=0 &&字段内容左对齐
         .Width=150
         .Header1.Caption="送交院系名称"
         .Header1.Alignment=2
      ENDWITH

      WITH .Columns(3)
         .Alignment=2
         .Width=65
         .Header1.Caption="修改单张数"
         .Header1.Alignment=2
      ENDWITH

      .RecordSourceType=1
      .RecordSource="T_Papers"

   ENDWITH

   RETURN
ENDPROC

以上代码正是按我刚刚所述的顺序写的,希望对你有用。
2015-06-09 10:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-446372-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.137824 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved