如何设置某个RecNo范围内的Record显示(100分)

  • 主题发起人 主题发起人 zodiac
  • 开始时间 开始时间
Z

zodiac

Unregistered / Unconfirmed
GUEST, unregistred user!
我想要实现在DBGrid内显示一个Paradox表的内容,但不想全部显示而只是从RecNox到y的范围内的纪录。在这表中没有一个顺序递增的字段,因此不能用
Filter.另外在paradox表中有没有这样一个隐含的顺序递增且连续的字段。
多谢!
 
这个问题太难了,我看了两个小时,没有结果,最好的方法是在库是加字段(自动加1型),后过滤可实现该功能
 
同意LSS的方法,自己做这样的一个字段,实现起来也不复杂嘛。
但是用自动加1型的字段并不能保证顺序递增且连续,所以还要程序控制其连续。
 
hehe that's easy
if you do not add an additional field you could do like this:
first create a memory table, then copy all record that in the range
to it (use for statement)
 
办法很简单,因为我在试题库编程中经常来回倒换这些数据,若让人来干,
那他得有多条命才可!:-)
建议你:
1)在数据库里增加一个索引字段,主要记录每条记录的顺序号;
2)有可能的话自定义DBNavigater的各按钮,并实现对应的功能(本人就采用该方法).
其好处是可以灵活操纵数据库;
3)将你选择的RecNo的值找到数据库对应的记录编号,并另存一个由索引值组成的
数据库中,(由RecNo到N的范围可用If 或For来实现);
4)将对应于索引数据库的值找到对应的记录,并赋予另一个数据库中;待数据库操作
完毕后利用Table1.Active := True;一起显示就达到了你的要求。
使用非数据库语言编程只能绕道了,无捷径可寻。这也是最行之有效的办法。
我的程序很大,来此的机会很少,只有你自己努力的,只要按这4点一定能行。但别
因抱怨而不给分噢!!!!
我的E-mail很少光顾,若有耐心,可往那发信!祝好运!
 
不一定需要建立特别的索引字段, 对于一般有序的字段也是可以的:

SELECT * FROM "animals.dbf" Animals
WHERE (NAME >= 'A')
AND (NAME <= 'C')

一般来说我们在数据表中总是能够找到一个或几个字段来确定显示序列的.

但是如果想在表中提出指定的几行(比如说十行)来显示, 只好按照上面几位先生所提
到的办法来作了. 但是实际上这样的要求不是很多.
 
同意huizhang.
但最好建立一个memory table.
 
同意CJ的方法 .
我经常碰到这种情况, 我是使用Memory Table (Rxlib 控件库中有)
把需要显示的数据复制到Memory Table中, 然后用DBGRID显示Memory
Table. MemoryTable中有现成的复制数据的命令, 可以指定
从当前记录开始复制n条记录. 如果n <=0 则复制全部记录.
 
多人接受答案了。
 
后退
顶部