| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5588 人关注过本帖
标题:莫名的“找不到别名”错误
只看楼主 加入收藏
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
结帖率:75.86%
收藏
已结贴  问题点数:20 回复次数:15 
莫名的“找不到别名”错误
程序中有这么两句, 其中L2name为字符型字段,如果L2name为“bb123”时,不出错,为“123bb”时出错,为“FOG-WM07003WV-A”时也出错,不知道别名具体要求是什么呢?


....
Use (L2name) In 0
Select(Alltrim(L2name))
....

图片附件: 游客没有浏览图片的权限,请 登录注册




最终的解决办法,把每个表名加入一个创建的数组,以表名在数组的行数作为别名的序号,以此来select 表的别名:

...
bm_ic=Alltrim(Str(Ascan(array_name123,Alltrim(L1name),1,array_count123,1,15)))
Use (L1name) Alias ('bm'-bm_ic) In 0
...
Select ('bm'-Alltrim(Str(Ascan(array_name123,Alltrim(L1name),1,array_count123,1,15))))
...

[此贴子已经被作者于2017-5-28 11:28编辑过]

搜索更多相关主题的帖子: 找不到 错误 出错 Select 数组 
2017-05-25 20:00
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
收藏
得分:0 
既然vfp允许创建“123bb”这样的表,那打开后如果不指定ALIAS别名,如何select()呢?

[此贴子已经被作者于2017-5-25 20:12编辑过]

2017-05-25 20:11
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:5 
别名不合法,名字是以字母或下划线开头,由字母数字下划线组成。

[此贴子已经被作者于2017-5-25 21:07编辑过]

2017-05-25 21:00
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
收藏
得分:0 
以下是引用吹水佬在2017-5-25 21:00:52的发言:

别名不合法,名字是以字母或下划线开头,由字母数字下划线组成。


既然vfp允许创建“123bb”这样的表,那打开后如果不指定ALIAS别名,如何select()呢?
2017-05-25 21:47
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用琅拿度在2017-5-25 21:47:27的发言:



既然vfp允许创建“123bb”这样的表,那打开后如果不指定ALIAS别名,如何select()呢?

默认是表名“123bb”,但“123bb”用在别名就不合法,为何不用ALIAS呢?
2017-05-25 21:54
wcx_cc
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:371
专家分:1157
注 册:2015-10-2
收藏
得分:5 
不指定别名时,vfp 会默认打开的表名是别名。可以用 select 表名来使用此表。不要用数字开头做表名。当 select 数字时,数字可能会被认为是一个‘区’,而此区可能没建立。
2017-05-25 22:01
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
收藏
得分:0 
但这样的表名也不让select:FOG-WM07003WV-A?

真有点费解,看来一定要用alias了
2017-05-25 23:07
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用琅拿度在2017-5-25 23:07:17的发言:

但这样的表名也不让select:FOG-WM07003WV-A?

真有点费解,看来一定要用alias了

好解,3楼有说到,试试看。
2017-05-26 00:13
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1736
专家分:3329
注 册:2012-2-29
收藏
得分:5 
字符间的短线倍视为连接符,当然不行的。
图片附件: 游客没有浏览图片的权限,请 登录注册

2017-05-26 07:06
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
收藏
得分:0 
只能用alias解决了:

....
bm_i=bm_i+1
bm_ic=Alltrim(Str(bm_i))
zd=ALLTRIM(订单号)
Public bm_&zd
bm_&zd='bm'-bm_ic
Use (订单号) ALIAS ('bm'-bm_ic) In 0
....
select(eval('bm_'+allt(订单号)))

这个方法还是不行,因为变量也是不能使用上划线

[此贴子已经被作者于2017-5-27 07:58编辑过]

2017-05-26 07:57
快速回复:莫名的“找不到别名”错误
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053019 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved