txfantong 发表于 2008-9-2 08:30

[求助]关于表格控件指定数据源为SQL查询临时表,帮帮忙,错在哪里

为单位编的一个人事管理系统 ,希望能通过左边的TREEVIEW控件选 择部门后,

在右边的表格控件内自动显示本部门相应人员信息,窗口图片如下
[img]http://www.myf1.net/bbs/UploadFile/2008-9/20089115312469579.jpg[/img]


treeview   NodeClick 事件中有:

     SELECT sequence as 序号, name as 姓名, sex as 性别, birthdate as 出生年月, nation as 民族, record as 学历,;
partydate as 入党时间, workdate as 参加工作时间 from database\tblpeople where Unitid=val(subs(node.key,2)) ;
into cursor tmppeople order by sequence


thisform.Grid1.RecordSource='tmppeople'

thisform.grid1.refresh

表单运行结果 右边表格控件变成空白

[img]http://www.myf1.net/bbs/UploadFile/2008-9/20089118344482292.jpg[/img]


SQL查询 语句后加BROW命令,查询结果无问题

[img]http://www.myf1.net/bbs/UploadFile/2008-9/20089118351433911.jpg[/img]


请各位大大帮看一下,问题出在哪里,谢谢!!!!!

[[it] 本帖最后由 txfantong 于 2008-9-2 11:27 编辑 [/it]]

ibmlang_002 发表于 2008-9-2 13:00

thisform.Grid1.RecordSource='tmppeople' 前面加上一句thisform.Grid1.RecordSourceType= 1

lisonshaw 发表于 2008-9-2 13:14

order by 应该放于into cursor 前面的吧

lisonshaw 发表于 2008-9-2 13:16

还有thisform.Grid1.RecordSource='tmppeople' 中的单引号你确定是英文状态下的吗

txfantong 发表于 2008-9-2 13:17

谢谢,我原本在表单中表格 控件的属性中已经设置.RecordSourceType= 1,但没有作用

不过程序代码中加上这句后行了,不知是怎么回事

txfantong 发表于 2008-9-2 13:19

回复 4# lisonshaw 的帖子

是英文状态 , ORDER BY 可以放在 into 语句之前的,
在SELECT 语句后立刻加一个BROW命令,可以显示出查询运行结果,说明查询语句运行结果是没问题的

ibmlang_002 发表于 2008-9-2 13:20

这可能是GRID的BUG吧。记住,每当要叫GRID正确显示数据,这3条命令必不可少。

[[it] 本帖最后由 ibmlang_002 于 2008-9-2 13:24 编辑 [/it]]

txfantong 发表于 2008-9-2 13:43

回复 7# ibmlang_002 的帖子

昨天测试时,查询结果定向为into dbf时,
更新数据时只需要指定数据源和REFRESH两条就够了,

但是,into cursor时,仅这两条语句就不够,一定要再加上您所说的recordsourcetype这句才行, 具体什么原因也搞不懂

szy345 发表于 2008-9-2 14:49

[tk05]

页: [1]

编程论坛