以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  item为readonly  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=130091)

--  作者:cyrollin
--  发布时间:2019/1/12 22:47:00
--  item为readonly
datacolchanged事件:

    If e.DataCol.Name = "工作人员" Then 
        Tables("表A").Cols("工作人员") = DataTables("表B").GetComboListString("所有职员姓名", "第二列 not in (\'" & e.DataRow("休息人员").Replace(",", "\',\'") & "\')")
    End If

工作人员里面不包含休息人员, 结果提示: 属性ITEM为READONLY.

--  作者:新福星
--  发布时间:2019/1/13 6:48:00
--  
If e.DataCol.Name = "工作人员" Then 
        Tables("表A").Cols("工作人员").ComboList = DataTables("表B").GetComboListString("所有职员姓名", "第二列 not in (\'" & e.DataRow("休息人员").Replace(",", "\',\'") & "\')")
 End If
这样改试试看!

--  作者:cyrollin
--  发布时间:2019/1/13 12:41:00
--  
可以了,谢谢。

我是想如果 工作人员列 有人员名单了,如果在休息人员列点选他们休息,就自动从工作人员列的名单里面撤出或删除,这个代码怎么写呢?

比如:
工作人员列           休息人员列
张三,李四             如果这里选择 张三,李四,工作人员列就自动删除掉 张三,李四。
张三,王二

--  作者:有点甜
--  发布时间:2019/1/13 21:29:00
--  

prepareEdit事件

 

If e.Col.Name = "休息人员" Then 

    e.col.ComboList = DataTables("表B").GetComboListString("所有职员姓名", "所有职员姓名 not in (\'" & e.row("工作人员").Replace(",", "\',\'") & "\')")
End If
 
如果还有问题,请做一个具体实例发上来测试。
[此贴子已经被作者于2019/1/13 21:29:45编辑过]

--  作者:cyrollin
--  发布时间:2019/1/14 16:24:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


在同一日期,如果休息人员列选小江了,工作人员列里面的小江就立马删除掉,其他人员保留,怎么实现?

--  作者:有点甜
--  发布时间:2019/1/14 16:56:00
--  
If e.DataCol.name = "休息人员" Then
    Dim str As String = e.DataTable.GetComboListString("休息人员", "日期=#" & e.DataRow("日期") & "#")
    str = str.replace("|", ",").trim(",")
    Dim drs = e.DataTable.Select("日期=#" & e.DataRow("日期") & "#")
    For Each s As String In str.split(",")
        If s > "" Then
            For Each dr As DataRow In drs
                dr("工作人员") = dr("工作人员").replace("," & s & ",", ",").replace(s & ",", "").replace("," & s, "").replace(s, "")
            Next
        End If
    Next
End If

--  作者:cyrollin
--  发布时间:2019/1/14 17:01:00
--  
图片点击可在新窗口打开查看 甜甜,我想请您吃饭。。。。。。。。
图片点击可在新窗口打开查看

--  作者:cyrollin
--  发布时间:2019/1/14 17:03:00
--  
dr("工作人员") = dr("工作人员").replace("," & s & ",", ",").replace(s & ",", "").replace("," & s, "").replace(s, "")
这句为什么有这么多replace, 和这么多,"","",,, 有帮助参考吗?

--  作者:有点甜
--  发布时间:2019/1/14 17:11:00
--  

比如有数据 小明,小明,小明

 

那就要先替换 ,小明, 为 ,

 

再替换 小明, 为 空白

 

再替换 ,小明 为 空白

 

如果单独一个 小明,要直接替换小明为空白


--  作者:cyrollin
--  发布时间:2019/1/14 17:24:00
--  
图片点击可在新窗口打开查看 有点儿懂了,向您学习。 怎么请您吃饭