以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]独占式编辑怎么让多个表有效,示例只有一个表,不会写。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83631)

--  作者:36792209
--  发布时间:2016/4/13 15:47:00
--  [求助]独占式编辑怎么让多个表有效,示例只有一个表,不会写。


2、在项目事件AfterOpenProject设置代码:


Da t aT a  b le s
("员工").Re pl a c e For("编辑 者",N oth ing,"编 辑者 = \'" & User.Name & "\'")
Da t a Ta bl es
("员工").Save()
Tab l es(
"员工").Cols.Rem o ve("编 辑者"



6、最后设置Before C l o s e P r o j e c t事件代码为:

Dim cm d As New S Q L C o mm a nd
cm d
.Com m and Tex t = "U pd at e { 员 工} Se t 编 辑者 = Nu ll W h ere 编 辑者 = \'" & Us er.Na me & "\'"
cm d
.E xec u te Non Query




以上是帮助文档的,可是我有很多表,怎么可以让这些表都可以实行独占式编辑呢?上面的代码应该怎么改啊?


OPENQQ用不到,老式的独占编辑停好的。


[此贴子已经被作者于2016/4/13 15:54:52编辑过]

--  作者:大红袍
--  发布时间:2016/4/13 16:03:00
--  

比如,可以这样改

 

Dim tbs() As String = {"表a", "表b"}
for each tb as string in tbs
    DataTables(tb).ReplaceFor("编辑者",Nothing,"编辑者 = \'" & User.Name & "\'")
    DataTables(tb).Save()
    Tables(tb).Cols.Remove("编辑者") \'移除编辑者列,避免用户直接修改此列
Next


--  作者:36792209
--  发布时间:2016/4/13 16:05:00
--  
Before C l o s e P r o j e c t事件这里面的代码怎么改啊?
--  作者:大红袍
--  发布时间:2016/4/13 16:14:00
--  
Dim tbs() As String = {"表a", "表b"}
For Each tb As String In tbs
    Dim cmd As New SQLCommand
    cmd.CommandText = "Up date {" & tb & "} Set 编辑者 = Null Where 编辑者 = \'" & User.Name & "\'"
    cmd.ExecuteNonQuery
next

--  作者:36792209
--  发布时间:2016/4/13 16:15:00
--  
谢谢老师,对了,我是外部表,是不是加个cm d.Con nec tion N a  me = "数据源"
[此贴子已经被作者于2016/4/13 16:16:12编辑过]

--  作者:大红袍
--  发布时间:2016/4/13 16:19:00
--  

是的,要加 http://www.foxtable.com/help/topics/2344.htm

 


--  作者:36792209
--  发布时间:2016/4/13 16:33:00
--  
老师,我出现了这个错误,这是怎么回事啊
图片点击可在新窗口打开查看此主题相关图片如下:123123.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2016/4/13 16:34:00
--  

关闭的时候报错?Up date的空格要删除。


--  作者:大红袍
--  发布时间:2016/4/13 16:35:00
--  
贴出出错代码。
--  作者:36792209
--  发布时间:2016/4/13 16:36:00
--  
好了。多了个空格。