如何 解决“别名已被占用的问题”?

plpy 2004-09-24 03:26:16
如何 解决“别名已被占用的问题”

分数不是问题!

最近偶在做一个小项目,发现VF的问题也真不少啊!
希望VF 高手的帮助!

...全文
680 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
plpy 2004-09-24
  • 打赏
  • 举报
回复
不好意思啊,把这位magnetmoon(天涯明月刀) ( ) 仁兄给忘了, 下次补上,呵呵,还是得说声谢谢!
plpy 2004-09-24
  • 打赏
  • 举报
回复
不好意思啊,把这位magnetmoon(天涯明月刀) ( ) 仁兄 下次补上,呵呵,还是得说声谢谢!
YuyuanJian 2004-09-24
  • 打赏
  • 举报
回复
每次打开表前加上语句:
if select("表名") >0
use in 表名
endif
use 表名
或者:
if select("表名") >0
select 表名
else
use 表名
endif

YuyuanJian 2004-09-24
  • 打赏
  • 举报
回复
每次打开表前加上语句:
if select("表名") >0
use in 表名
endif
use 表名
或者:
if select("表名") >0
select 表名
else
use 表名
endif

magnetmoon 2004-09-24
  • 打赏
  • 举报
回复
请问楼上的各位兄弟?
判断一个表是否打开也是用 if used("真实表名")吗

-------->
不是,


确定是否在指定工作区中打开了一个表。

语法

USED([nWorkArea | cTableAlias])

参数
nWorkArea | cTableAlias

指定表的工作区。nWorkArea 指定工作区编号,cTableAlias 指定表的别名。如果不包含 nWorkArea 或 cTableAlias,则检查当前选定工作区中是否有一个打开的表。
如果包含一个表别名,那么当该别名指定的表已在一个工作区中打开时,used( ) 函数返回“真”(.T.)。

返回值类型

逻辑型

说明

如果在指定的工作区中打开了一个表,used( ) 函数就返回“真”
(.T.);否则,used( ) 函数返回“假” (.F.)。
plpy 2004-09-24
  • 打赏
  • 举报
回复
片刻之后就结帖!
plpy 2004-09-24
  • 打赏
  • 举报
回复
OK 了谢谢

各位
刚刚试过 JohnShen(因果网) ( ) 的方法。

不错,谢谢
YuyuanJian 2004-09-24
  • 打赏
  • 举报
回复
判断表名是否已用:
If select("表名") > 0
*-- 已用
else
*-- 未用
endif
plpy 2004-09-24
  • 打赏
  • 举报
回复
我想要的办法是,别名用完后,如保清除呢?能覆盖也可以!
plpy 2004-09-24
  • 打赏
  • 举报
回复


如果用判断的话,道是没有语法错误了,但是逻辑上还是存在一些问题

最好是有能覆盖以前的同名的名别的,函数!
这样才更完美!,

plpy 2004-09-24
  • 打赏
  • 举报
回复
请问楼上的各位兄弟?
判断一个表是否打开也是用 if used("真实表名")吗
philozz 2004-09-24
  • 打赏
  • 举报
回复
关于:必须使用同一个别名
建议在使用前先进行判断
if used("myalias1")
&& use in myalias1
&& sele 0
&& use mytable1 alias myalias1
sele myalias1
else
sele 0
use mytable1 alias myalias1
endif



JohnShen 2004-09-24
  • 打赏
  • 举报
回复
释放别名a:
If Used("a")
Use In a
EndIf
philozz 2004-09-24
  • 打赏
  • 举报
回复
请参考:
1、对于 select .. into cursor ...的情况:
在一个系统中,使用别名的地方很多,建立起别名的规则。
如:select * from myworktable where ... into cursor cursormyworktable
2、对于 select .. into dbf ...的情况:
临时表的名称用sys(2015)来产生
m_tmpcursor = "_" + right(sys(2015),7)
select * from myworktable where ... into dbf (m_tmpcursor)
plpy 2004-09-24
  • 打赏
  • 举报
回复
是的楼兄弟分析的不错,

问题的关键是,我必须使用同一个别名!还让他不发生错误呢,这如何才能办到?

我的想法是:

USE 表 ALIAS a IN 0

能否在这个位置加释放别名的指令?

USE 表2 ALIAS a IN 0

这个指令应是什么呢?
JohnShen 2004-09-24
  • 打赏
  • 举报
回复
错误信息:
别名已被使用。(错误 24)

错误原因:
对某一表使用了一个别名,此别名已经被其他表使用。

比如,
USE 表 ALIAS a IN 0
USE 表2 ALIAS a IN 0
这样就会出现这个错误

2,748

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧