回 帖 发 新 帖 刷新版面

主题:如何检测当前是否有表打开?

如题,不过表的名称不是固定不变的。现在希望能检测到是否有表文件处于打开状态。请问怎么实现?谢谢!

回复列表 (共6个回复)

沙发

很简单,
if ?TYPE(FIELD(1)) = "U" 
   messagebox("当前工作区没有打开任何表")
else
   messagebox("e 有打开的表啦!!")
endif


type(field(1))看当前表的第一个字段是什么类型,如果是“U”就是没有定义啦!

板凳

顺便问一个,你测试这个干什么用?

还有一种方法

if .not. USED()
   messagebox("当前工作区没有打开任何表")
else
   messagebox("e 有打开的表啦!!")
endif

3 楼

USE (表的名称变量) ALIAS mytabl

if used("mytabl")
    ?dbf("mytabl"),"表已经打开"
endif

4 楼

USE (表的名称变量)

if used(表的名称变量)
    ?表的名称变量,"表已经打开"
endif

5 楼

[quote]
如题,不过表的名称不是固定不变的[/quote]


我想老师应该是 误会楼主的意思了吧!现在是 不知道表文件名,楼主的意思应该是
看当前有没有打开的表文件吧!

6 楼

给你一个参考思路

for i=1 t 30  && 1024
 sele (i)
 ? i
 ? dbf()   && 返回当前工作区打开表的文件名
 ? used()  && 若当前工作区有打开表,返回  .t.
 =inkey(2)
endi

我来回复

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