找不到别名‘口令表’
我在连编后遇上了个问题,我有一个登陆表单,一个注册表单,直接运行登陆表单时没问题,但当先运行注册表单再运行登陆表单(输入用户名和口令点"登陆")时就出现错误“找不到别名‘口令表’”(我设计的注册成功后直接自动运行登陆表单)是怎么回事呀?[[it] 本帖最后由 lisonshaw 于 2008-9-1 09:13 编辑 [/it]]
SET EXACT ON
SELECT 口令表
LOCATE for thisform.text1.Value=用户名
IF EMPTY(thisform.text1.Value) or EMPTY(thisform.text2.Value)
MESSAGEBOX("用户名或口令不能为空!",16)
thisform.inputok &&新建方法程序,实现重新输入效果
ELSE
IF !EOF()
MESSAGEBOX("对不起,该用户名已经存在,请重新输入!",16)
thisform.inputok
ELSE
IF ALLTRIM(thisform.text2.value)=ALLTRIM(thisform.text3.Value )
INSERT into 口令表(用户名,口令) values (thisform.text1.Value,thisform.text2.Value)
IF MESSAGEBOX("恭喜!您已经注册成功,是否现在登陆?",52)=6
do form 登陆.scx
ENDIF
thisform.Release
ELSE
MESSAGEBOX("两次输入口令不一致!请检查输入!",48)
thisform.text1.Value=""
thisform.text2.Value=""
thisform.text3.Value=""
thisform.text1.SetFocus
ENDIF
ENDIF
ENDIF 运行登陆表单时,注册表单还未释放
会不会问题出在这里 从代码上没有关键性问题,请检查一下“登录.scx”的load等代码中,是否在“口令表”打开的工作区中又打开了新的数据表,这样就会自动关闭“口令表”。
为省事起见,也可以在“登录.scx”的load代码中加入:
if !used("口令表")
MESSAGEBOX("如果见到本信息,“口令表”还没有打开,现在打开。") &&测试用
use 口令表 &&也可以在其它合适的工作区中打开
endif 文件已关闭。请在登录表单中判断“口令表”是否已打开。如未打开,则打开。在打开新的表时,请在后面加上 in 0。
[[it] 本帖最后由 ibmlang_002 于 2008-9-4 09:38 编辑 [/it]]
USE 表名.dbf IN 0 ALIAS 别名
每次打开表的时候建议使用工作区USE 表名.dbf IN 0 ALIAS 别名
页:
[1]
