以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教表视图问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=10653)

--  作者:狐友
--  发布时间:2011/6/16 14:23:00
--  请教表视图问题

这段代码放在,afterload 里,切换用户不起作用是怎么回事呢

If User.name = "开票"  Then
        Tables("销售订单").OpenView("开票")
  ElseIf  User.name = "制单" Then
        Tables("销售订单").OpenView("制单")
  Else
        Tables("销售订单").OpenView("全部")
End If


--  作者:狐狸爸爸
--  发布时间:2011/6/16 14:31:00
--  

窗口的AfterLoad事件?

你的窗口的销售订单表必须是非副本的Normal型Table控件才行,参考一下:

 

当作为普通的Table使用的时候,其类型自然是Table。
至于名称则要区分两种情况。

如果类型为Normal,且非副本,此时窗口并不会创建新的Table,只是将原来的Table移到窗口中显示,所以其名称自然就等于绑定的Table名称。
例如将订单表移到主窗口后,对其的调用还是和原来一样:

Tables("订单").AllowEdit = True

如果类型为Normal,且为副本,或者类型为SQLTable、SQLQuery,此时窗口会创建一个新的Table,此新Table的名称为:

窗口名称_控件名称

假定这个Table的名称为Table1,且在窗口1中,那么代码中必须使用“窗口1_Table1”的名称来调用此Table:

Tables("窗口1_Table1").AllowEdit = False