主题:如何检测当前是否有表打开?
ihorse
[专家分:970] 发布于 2008-06-11 19:43:00
如题,不过表的名称不是固定不变的。现在希望能检测到是否有表文件处于打开状态。请问怎么实现?谢谢!
回复列表 (共6个回复)
沙发
homayzh [专家分:7040] 发布于 2008-06-11 20:13:00
很简单,
if ?TYPE(FIELD(1)) = "U"
messagebox("当前工作区没有打开任何表")
else
messagebox("e 有打开的表啦!!")
endif
type(field(1))看当前表的第一个字段是什么类型,如果是“U”就是没有定义啦!
板凳
homayzh [专家分:7040] 发布于 2008-06-11 20:16:00
顺便问一个,你测试这个干什么用?
还有一种方法
if .not. USED()
messagebox("当前工作区没有打开任何表")
else
messagebox("e 有打开的表啦!!")
endif
3 楼
cbl518 [专家分:57140] 发布于 2008-06-11 20:36:00
USE (表的名称变量) ALIAS mytabl
if used("mytabl")
?dbf("mytabl"),"表已经打开"
endif
4 楼
cbl518 [专家分:57140] 发布于 2008-06-11 20:37:00
USE (表的名称变量)
if used(表的名称变量)
?表的名称变量,"表已经打开"
endif
5 楼
homayzh [专家分:7040] 发布于 2008-06-11 22:28:00
[quote]
如题,不过表的名称不是固定不变的[/quote]
我想老师应该是 误会楼主的意思了吧!现在是 不知道表文件名,楼主的意思应该是
看当前有没有打开的表文件吧!
6 楼
0901chang [专家分:10660] 发布于 2008-06-12 07:03:00
给你一个参考思路
for i=1 t 30 && 1024
sele (i)
? i
? dbf() && 返回当前工作区打开表的文件名
? used() && 若当前工作区有打开表,返回 .t.
=inkey(2)
endi
我来回复