以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  外部数据按条件加载与登录窗口  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=7443)

--  作者:卟离卟弃
--  发布时间:2010/6/23 16:34:00
--  外部数据按条件加载与登录窗口

大家好!求助

我想根据用户名称,加载数据

e.SelectString = "Select All * From {客户供应商资料} Where  负责人 = _UserName "

问题是 我的用户 资料是 外部数据,是按照狐表例子文件 (自定义用户管理)做的。

 

现在文件运行方式是 先加载好数据,然后打开 登录窗口  ,这样就没办法根据用户 名称  加载外部数据了

 

有什么办法  能够把 AfterOpenProject 事件中Forms("用户登录").Open() 指令调到 加载数据之前执行?

 

先登录文件,然后根据登录名(_UserName)  加载 数据。

 

各位有没有什么办法??

 

如果没有办法,只能把所有的用户名都设置文件内部了。。。。

 

 

 

 

 

 


--  作者:狐狸爸爸
--  发布时间:2010/6/23 16:42:00
--  
在用户登录窗口的登录按钮,写入加载代码,这样就没有问题。
--  作者:baoxyang
--  发布时间:2010/6/23 16:43:00
--  

可以建一个一表管理用启名及表名(可以多个表),用户名为全局变量,表名为全局变量,在根据登录名(_UserName)来赋值表名为全局变量就可实现。


--  作者:baoxyang
--  发布时间:2010/6/23 16:46:00
--  

如果一个用启名可以打开多表时,哪只能根据加载的窗口名来判断是否加载的表名。(窗口名也可用全局变量来实现)

AfterLoad事件中

Vars("活动窗口名") = e.form.name

 


--  作者:狐狸爸爸
--  发布时间:2010/6/23 17:25:00
--  

数据加载并非一定要在BeforeLoadOuterTable事件中的,你可以在BeforeLoadOuterTable事件中设置代码:

 

e.SelectString = "Select All * From {客户供应商资料} Where  [_Identify] Is NULL"

 

在AfterOpenProject事件中:

 

Forms("用户登录").Open()

DataTables(“客户供应商资料").LoadFilter = "负责人 ="\' &  _UserName & "\'"
DataTables(“客户供应商资料").Load

 

完美解决

 

 


 


--  作者:卟离卟弃
--  发布时间:2010/6/23 18:19:00
--  

老六

 

照你的方法试了一下,提示错误

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图未命名.jpg
图片点击可在新窗口打开查看

--  作者:mr725
--  发布时间:2010/6/23 18:41:00
--  

 是这个: ="\' &  _UserName & "\'"   

改为       = \'" &  _UserName & "\'"       看红色的 撇号  \'  位置


--  作者:卟离卟弃
--  发布时间:2010/6/23 19:51:00
--  

谢谢国家,谢谢狐爸,感谢各位同仁,,,,问题解决了。