请教十三豆老师和都市夜猫老师!
请教十豆三老师和都市夜猫老师!
表索引的问题
表单上有20个用textbox组成的一列book1,book2,...,book20.
这个功能是,当表单进入编辑状态的时候,右键单击任何一个book(i),如果book(i-1)有内容,会把它复制下来;或者可以在book(i)用键盘输入,然后回车。
现在的问题是,运行程序时,比如说book1有内容是abcdefg,右键单击book2处,本来空白的book2也变成abcdefg,这个没问题。然后再右键单击book3,虽然book3处显示abcdefg,但是会显示错误“incorrect XX”,book4就不能再点了。
出错的地方大概是这样:
select ("BOOK")
set order to Book_no &&Book_no在一个cdx表中,索引的表达式为alltrim(A)+alltrim(B)
IF SEEK(&lc_FieldName) &&debug运行的话错误行就出现在这里,找不到&lc_FieldName,然后就跳去ELSE显示那
&&个“Incorrect XX”了
...
ELSE
Book_list.Status.Value="Incorrect XX"
补充说明:
1.这个功能以前是没有问题的,代码也没有改过。
2.book表是放在server 2003上的。
3.当我把book表烤回来放在我电脑上运行程序,也出现同样的问题,但是我将索引表修改一下结构(其实没有实质性的修改,就是让它出现“make structure change permanent?”字样后,点击Yes),就运行无误了。
4.我猜想是cdx的问题,就把我电脑上的这个所谓改过的表烤到server上去,结果用VFP打不开,说“file is not open”。
5.网上找到说这个错误是由于索引表被损坏,于是我把索引表cdx删掉,打开dbf的时候ignore,就可以看到dbf的内容,然后再创建一遍索引。。。。。。一切又都回到解放前了。
6.试过对Server上所有的表进行Reindex,重启Server,无果。
请两位老师帮忙!其他如果有类似经验的前辈们,也请赐予建议吧!阿弥陀佛。