| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1208 人关注过本帖
标题:难道查询的只能在 GRID 中显示吗?
只看楼主 加入收藏
uhjiok123
Rank: 1
等 级:新手上路
帖 子:12
专家分:7
注 册:2014-7-2
收藏
得分:0 
回复 6 楼 tlliqi
SORRY  SORRY   有点崩溃了, 很没有头绪,所以有点雨雾轮次了9-----
2014-07-05 20:41
uhjiok123
Rank: 1
等 级:新手上路
帖 子:12
专家分:7
注 册:2014-7-2
收藏
得分:0 
回复 4 楼 hu9jj
我是想用 满足筛选的条件后,  FORM刷新,来显示对应的数据
2014-07-05 20:43
uhjiok123
Rank: 1
等 级:新手上路
帖 子:12
专家分:7
注 册:2014-7-2
收藏
得分:0 
回复 5 楼 tlliqi
个人感觉不好看,但用作 信息总浏览的时候比较不错, 很直观
2014-07-05 20:44
uhjiok123
Rank: 1
等 级:新手上路
帖 子:12
专家分:7
注 册:2014-7-2
收藏
得分:0 
程序代码:
*********定义本地数组以存放数据***********
LOCAL xingming(10) 
LOCAL [bianhao(10)]
LOCAL [shenfenzheng(20)]
LOCAL xingbie(10)  
LOCAL [jiashizheng(20)] 
LOCAL [chusheng(20)] 
LOCAL gongzuo(20)
LOCAL [zhiwu(20)] 
LOCAL [jianli(200)]


**************************给各个文本框赋值,满足条件的值*****************
thisform.refresh
SELECT 编号 FROM rsb WHERE 编号=ALLTRIM(cx) INTO ARRAY (bianhao)
thisform.txt编号 .value = bianhao
SELECT 姓名 FROM rsb WHERE 编号=ALLTRIM(cx) INTO ARRAY (xingming)
thisform.txt姓名.value= xingming
SELECT 性别 FROM rsb WHERE 编号=ALLTRIM(cx) INTO ARRAY (xingbie)
thisform.txt性别 .value = xingbie
SELECT 身份证编号 FROM rsb WHERE 编号=ALLTRIM(cx) INTO ARRAY (shenfenzheng)
thisform.txt身份证编号 .value = shenfenzheng
SELECT 驾驶证编号 FROM rsb WHERE 编号=ALLTRIM(cx) INTO ARRAY (jiashizheng)
thisform.txt驾驶证编号 .value = jiashizheng
SELECT 出生日期 FROM rsb WHERE 编号=ALLTRIM(cx) INTO ARRAY (chusheng)
thisform.txt出生日期 .value =chusheng
SELECT 工作日期 FROM rsb WHERE 编号=ALLTRIM(cx) INTO ARRAY  (gongzuo)
thisform.txt工作日期 .value = gongzuo
SELECT 简历 FROM rsb WHERE 编号=ALLTRIM(cx) INTO ARRAY jianli
thisform.edt简历 .value = jianli
***********************************赋值,结束********************************** 





我用了一种最笨的办法  现在了第2个表单的 INIT 事件中
2014-07-05 23:31
tyjhcw
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2013-3-21
收藏
得分:4 
select执行时是对全表操作的,要扫描所有记录。select执行完毕后,记录指针在表尾。此处把select放在scan中是错误的。
为什么要定义有10个元素的数组呢?人与其信息应该是一一对应的吧?
另外:
SELECT 姓名 FROM rsb WHERE 编号=ALLTRIM(cx) INTO ARRAY (bianhao) 得到的结果是:bianhao中存放的是姓名
thisform.txt编号 .value = array(bianhao)    这句当然有问题了

作者的意图是将表记录指针定位到相应的编号上,可以直接用:locate all for 编号=ALLTRIM(cx)
或者:thisform.txt编号 .value = LOOKUP(编号, ALLTRIM(cx), 编号)
然后refresh

注意:在第2个表单中要设置好各个txt的数据源为rsb的相应字段

[ 本帖最后由 tyjhcw 于 2014-7-6 10:50 编辑 ]
2014-07-06 10:48
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:1 
回复 9 楼 uhjiok123
把你的表放上来

授人以渔,不授人以鱼。
2014-07-06 18:11
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
这种显示界面是dBASE/FoxPro时代最基本的东西,竟然到了今天是难题。

授人以渔,不授人以鱼。
2014-07-06 18:40
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:658
专家分:2180
注 册:2014-2-7
收藏
得分:3 
我也来说两句。
首先,为什么大家喜欢用Grid来显示查询结果呢?因为表格可将查询结果一次性全显示出来,而用多个文本框则只能显示一条记录。另外,列表框与编辑框无法显示字段标题,并不适合显示查询结果。
其次,对于本例来说,应该使用表单集。在第一个表单输入编号后,使用 locate for 编号==allt(thisform.txt编号.Value) 查找记录,然后执行如下语句:
WITH THISFORMSET.Forms[2]
    .txt编号.Value = rsb.编号
    .txt姓名.Value = rsb.姓名
    .txt身份证号.Value = rsb.身份证号
    ……
ENDWITH
当然,如果在第二个表单中,为每个控件指定了ControlSource,如:为“txt编号”指定控件来源指定为“rsb.编号”,则只需执行 THISFORMSET.Forms[2].Refresh 即可。

泉城飞狐
2014-07-07 08:19
ILoveVFD
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:218
专家分:147
注 册:2015-5-2
收藏
得分:0 
学习了!
2015-06-28 21:02
快速回复:难道查询的只能在 GRID 中显示吗?
数据加载中...
 
   



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

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