如何让查询的结果显示在GRID中

bocx9 2003-08-15 08:12:58
在表单中有个TEXT文本框、COMMAND按钮和GRID
现在TEXT中输入内容,然后点击COMMAND进行查询,最后将查询结果显示在GRID中

如何实现?

最后,我还想调用查出的结果又怎么办呢?
希望高手赐教!
...全文
104 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
heavenmusic 2003-08-21
  • 打赏
  • 举报
回复
我已经试过清风的,,,,,可以用!!:)  谢谢!!
boomit 2003-08-21
  • 打赏
  • 举报
回复
举个例子:tb1是原表有两个字段,aa 和bb 我们要用aa字段进行查询,查询结果存在tb2中,
则在查询按钮中写。。。
THISFORM.GRID1.RECORDSOURCE=''
SELE aa,bb FROM tb1 where allt(aa)==allt(thisform.text1.value) INTO TABLE tb2 &&因为你要用查询结果表,所以不用cursor 这个SQL语句还有很多语法,你自己研究吧
IF _TALLY>0
thisform.grid1.recordsourcetype=0
THISFORM.GRID1.RECORDSOURCE='tb2' &&为表格控件设置数据源。
ELSE
MESSAGEBOX('没有符合要求的记录!')
retu
ENDIF
THISFORM.REFRESH
这样试试,,首先保证查询后得有结果。
bocx9 2003-08-21
  • 打赏
  • 举报
回复
还是不行啊,那为好心人介绍个源程序让我学习学习!
fj_jiangqi 2003-08-18
  • 打赏
  • 举报
回复
检查一下SELE * FROM tabels INTO CURSOR stable是否正常?
-------------------------
我流落在凄凉的世界里-孤苦伶仃
我过着动荡无助的生活-四处漂泊
bocx9 2003-08-18
  • 打赏
  • 举报
回复
THISFORM.GRID1.RECORDSOURCE=''
SELE * FROM tabels INTO CURSOR stable
IF _TALLY>0
THISFORM.GRID1.RECORDSOURCE='stable'
ELSE
MESSAGEBOX('没有符合要求的记录!')
ENDIF
THISFORM.GRID1.REFRESH

这段程序添在按钮的CLICK事件好象没有用啊?
fj_jiangqi 2003-08-18
  • 打赏
  • 举报
回复
SELE * FROM tabels INTO CURSOR stable在这个语句中tables表必须是存在的,stable是这个语句生成的一个临时表。
-------------------------
我流落在凄凉的世界里-孤苦伶仃
我过着动荡无助的生活-四处漂泊
bocx9 2003-08-18
  • 打赏
  • 举报
回复
tables 和 stable 是查询时自动生成的吗?
fj_jiangqi 2003-08-16
  • 打赏
  • 举报
回复
_TALLY是select等一些对表记录操作的数量或结果集的记录数。
-------------------------
我流落在凄凉的世界里-孤苦伶仃
我过着动荡无助的生活-四处漂泊
bocx9 2003-08-16
  • 打赏
  • 举报
回复
_TALLY有是什么意思呢
dfwxj 2003-08-16
  • 打赏
  • 举报
回复
_TALLY是系统内存变量,返回最近一次执行表table命令处理的记录数
pecker 2003-08-15
  • 打赏
  • 举报
回复
回答美少女的问题如下:假设grid名字叫grid1
use your_table alias ccc
thisform.grid1.recordsourcetype="alias"
thisform.grid1.recordsource="ccc"
zap
append from something
thisform.grid1.refresh
如果再显示别的表:
thisform.grid1.recordsourcetype="table"
thisform.grid1.recordsource="another_table"
thisform.grid1.refresh
回答最上面那位哥们的问题:
想以后还用查询结果,就另存一个表:比如这样实现
select * from tablename into tablename2 where fieldname=thisform.text1.value
thisform.grid1.recordsourcetype="table"
thisform.grid1.recordsource="tablename2"
thisform.grid1.refresh
这样以后tablename2总是存在的.可以重复利用,又经济又环保,还砸不坏花花草草。。。。






dfwxj 2003-08-15
  • 打赏
  • 举报
回复
re lnlcg(美少女)

在删除时先将表格的RECORDSOURCE属性设置为空,更新后再将其设置为相应的表即可
lnlcg 2003-08-15
  • 打赏
  • 举报
回复
to pecker(小钻风) :
实验了,没好用,为什么?
lnlcg 2003-08-15
  • 打赏
  • 举报
回复
在一个表单中,用了grid,grid的数据环境如何更新或改变?
如grid用了一张表作为其数据环境,下一步需要对这张表的所有记录物理删除,后,添加一些新的记录,再用grid显示出来,实现完全的动态应如何进行?
boomit 2003-08-15
  • 打赏
  • 举报
回复
recordsourcetype 属性
应用于 请参阅

指定如何打开填充表格控制的数据源。设计时可用,运行时可读写。

语法

Grid.RecordSourceType[ = nType]

设置

nType

recordsourcetype 属性的设置有:

设置 说明
0 表。自动打开 RecordSource 属性设置中指定的表。
1 (默认值)别名。按指定方式处理记录源。
2 提示。在运行时刻向用户提示记录源。如果某个数据库已打开,用户可以选择其中的一个表作为记录源。
3 查询(.QPR)。RecordSource 属性设置指定一个 .QPR 文件。
4 SQL 语句。在 RecordSource 属性中指定 SQL语句。
recordsource 属性
应用于 请参阅

指定与表格控制相绑定的数据源。设计时可用,运行时只读写。

语法

Grid.RecordSource[ = cName]

设置

cName

cName 一般是临时表的别名或者表的名称。recordsource 属性指定与表格控制相绑定的主临时表。


bocx9 2003-08-15
  • 打赏
  • 举报
回复
好象有点感觉了,但不够详尽,望各位高手详细指点!
老猿的书房 2003-08-15
  • 打赏
  • 举报
回复
command click事件
thisform.grid1.recordsourct=select * form tablename where fieldsname=thisform.text1.value
dfwxj 2003-08-15
  • 打赏
  • 举报
回复
tabels是你想要查询的那个表的表名,也可以取其他的表名
stable是查询后生成的表,名字随便你取,不过要跟后面的GRID1.RECORDSOURCE的值要一致啦~
bocx9 2003-08-15
  • 打赏
  • 举报
回复
请问tabels 、stable是什么,是以建好结构的表还是动态生成的东东

dfwxj 2003-08-15
  • 打赏
  • 举报
回复
THISFORM.GRID1.RECORDSOURCE=''
SELE * FROM tabels INTO CURSOR stable
IF _TALLY>0
THISFORM.GRID1.RECORDSOURCE='stable'
ELSE
MESSAGEBOX('没有符合要求的记录!')
ENDIF
THISFORM.GRID1.REFRESH

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧