注册 登录
编程论坛 VFP论坛

VFP网络编程,唯一索引删除记录后,再次打开唯一索引,其他记录不可见,请高手指点,多谢!

wabc327 发布于 2021-04-28 16:09, 1202 次点击
请教您一个问题,vfp打开普通索引逻辑删除首记录后,再打开唯一索引,重复数据项的其他记录一条也看不到了。怎样能看到非逻辑删除的唯一索引的首记录呢?也就是说让逻辑删除的首记录不参与唯一索引,而让重复的 没有删除标记的第二条记录作为唯一索引的首记录显示,pack后可以,但网络上用不了pack,请高手指点下呗!我是在创建表时建立的唯一索引,能否在表结构中解决此问题,多谢了!!!!

[此贴子已经被作者于2021-4-28 16:12编辑过]

6 回复
#2
sdta2021-04-28 16:52
CREATE CURSOR test (xh c(2), bs c(1))
INSERT INTO test VALUES ("01", "")
INSERT INTO test VALUES ("01", "")
INSERT INTO test VALUES ("01", "")
INSERT INTO test VALUES ("02", "")
INSERT INTO test VALUES ("02", "")
INSERT INTO test VALUES ("03", "")
INSERT INTO test VALUES ("02", "")
INSERT INTO test VALUES ("03", "")
INSERT INTO test VALUES ("04", "")
INSERT INTO test VALUES ("04", "")
INDEX on xh TAG xh
BROWSE
REPLACE bs WITH "1" FOR RECNO() % 4 = 1
BROWSE
INDEX on xh TAG xh UNIQUE FOR EMPTY(bs)
BROWSE
是不是这个意思
#3
吹水佬2021-04-28 19:55
忽略删除记录的索引
INDEX on f2 TAG f2 UNIQUE FOR !DELETED()
#4
wabc3272021-04-29 10:11
回复 3楼 吹水佬
谢谢吹水佬指点 小弟学习了 方法我试过了 还是不好用,唯一索引下删除记录后 关闭表 再打开看到了非逻辑删除的第二条记录被索引,但未经关闭表普通索引下切换到唯一索引下 再次BROW 就看不到非逻辑删除的第二条记录被索引,这是怎么回事呢???



[此贴子已经被作者于2021-4-29 10:43编辑过]

#5
wabc3272021-04-29 10:19
回复 2楼 sdta
意思是对的 方法很不错 小弟学习了 还是不好用呢?

[此贴子已经被作者于2021-4-29 10:49编辑过]

#6
radiofan2021-04-29 12:25
以下是引用wabc327在2021-4-28 16:09:53的发言:

请教您一个问题,vfp打开普通索引逻辑删除首记录后,再打开唯一索引,重复数据项的其他记录一条也看不到了。怎样能看到非逻辑删除的唯一索引的首记录呢?也就是说让逻辑删除的首记录不参与唯一索引,而让重复的 没有删除标记的第二条记录作为唯一索引的首记录显示,pack后可以,但网络上用不了pack,请高手指点下呗!我是在创建表时建立的唯一索引,能否在表结构中解决此问题,多谢了!!!!


select …… order by排序,该做啥做啥 ……
#7
吹水佬2021-04-29 18:47
回复 4楼 wabc327
用CDX索引应该可以自动维护索引文件
1