回 帖 发 新 帖 刷新版面

主题:请教记录搜索显示问题

请教记录搜索显示问题
    假定有一个表 xsmxb.dbf ,里面有许多记录,我要搜索满足一定条件的记录,并且在原来表 xsmxb.dbf 中显示(不满足条件的记录隐藏),应该如何做?
    搜索显示问题,我想了以下几种方法:
  1、用 COPY STRUCTURE TO backup 命令建立与原表结构相同的临时空白表 backup,再用LOCATE FOR <搜索条件> 命令找符合条件的记录及其记录号 x2=RECNO(),接下来用命令APPEND FROM xsmxb FOR RECNO()=x2 把该记录填充到表 backup 中。结合使用命令CONTINUE,就可以把所有符合条件的记录都放在表 backup 中 。
     这种方法的缺点是需要临时表。
   2、建立一个表单,在表单上放一个文本框text1,用来输入搜索条件;再放一个命令按钮,用来下搜索命令:
         x1=thisform.Text1.Value
         SELECT * FROM xsmxb WHERE &x1
这时自动跳出一个显示搜索结果的窗口。但是,当鼠标在窗口外点击,窗口会关闭.
   3、还可以用表向导建立xsmxb的表单 ,这时表单底部出现一组按钮,其中有一个搜索命令按钮,利用它就可以有条件地搜索记录,搜索结果显示在原表中。虽然这符合我提出的问题要求,确实比较方便。但是其缺点是搜索条件只有两组,在实际使用中是不够的,不知道能不能修改这个按钮的命令,如何修改?
敬请诸位老师给以指教!

回复列表 (共5个回复)

沙发

看来楼主用的版本没有自动提示.
第二种方法:
SELECT * FROM xsmxb WHERE &x1 into cursor Tmp_table

写到临时表就不显示查询结果了.

板凳

select xsmxb 或 use xsmxb in 0

set filter to <你的条件>

browse

3 楼

谢谢 Vii老师的提示!
我还要问的是,查询能否在原表xsmxb中操作,将不符合条件的记录隐藏?有没有隐藏记录的方法?

4 楼


谢谢 winabcd老师的提示!你给出一种新方法,简单有效。
我还要问的是,查询能否在原表xsmxb中操作,将不符合条件的记录隐藏?有没有隐藏记录的方法?

5 楼

2楼已经给出了 set filter to <你的条件>
例如: set filter to 某字段=allt(thisform.Text1.text)

我来回复

您尚未登录,请登录后再回复。点此登录或注册