以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]多值字段的内容更新后如何标记其他表中的逻辑值?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67388)

--  作者:shilhoue
--  发布时间:2015/4/23 13:02:00
--  [求助]多值字段的内容更新后如何标记其他表中的逻辑值?

业务安排表中“日均设备”是个多值字段,选中设备后如何将设备表中相应的设备的是否占用(逻辑值)进行标记?

以下代码实现不了,应如何编写?

If e.DataCol.name = "日均设备" Then
Dim dr As DataRow = DataTables("设备表").find("设备类别 = \'日均\' and 设备编号 = \'" & e.DataRow(e.DataCol.name) & "\'")
If dr IsNot Nothing Then
dr("是否占用")=True
End If
End If


--  作者:Bin
--  发布时间:2015/4/23 13:54:00
--  
FIND 改为SQLFIND
DataTables("设备表").SQLfind("设备类别 = \'日均\' and InStr(\'" & e.DataRow(e.DataCol.name) & "\',设备编号)>0 ")


--  作者:shilhoue
--  发布时间:2015/4/23 17:29:00
--  

Bin版,我对这个设备占用的问题进行了更改,觉得这样更符合我的要求。现在碰到一个问题,怎么在点击“完成”后把日均设备中选中的值取消使被占用的设备得到释放,但原值还要保留以便查询,是不是还要增加一个字段用量存放原值啊?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:业务安排.table


--  作者:狐狸爸爸
--  发布时间:2015/4/23 17:39:00
--  
那就增加一列
--  作者:shilhoue
--  发布时间:2015/4/25 13:18:00
--  
增加一列后怎么写代码啊?
--  作者:Bin
--  发布时间:2015/4/25 13:34:00
--  
你列增加在那里了? 储存老的,你直接在赋值的时候为那个列也同步赋值即可
--  作者:shilhoue
--  发布时间:2015/4/25 15:36:00
--  
明白了,谢谢Bin版。但是点击“完成”怎么把当前行选择的设备取消选择呢,这个代码不会写啊


--  作者:Bin
--  发布时间:2015/4/25 15:47:00
--  
查看之前给你做的文件,已经给你写过这个功能了
--  作者:shilhoue
--  发布时间:2015/4/25 16:00:00
--  

If e.DataCol.name = "是否完成" Then
   If e.DataRow(e.DataCol.name) Then
        Dim dr As DataRow =DataTables("设备表").SQLfind("设备类别 = \'日均\' and InStr(\'" & e.DataRow(e.DataCol.name) & "\',设备编号)>0 ")
        If dr IsNot Nothing Then
            dr("是否占用")=False
        End If
End If
End If

 

这个代码只能去除的是设备表中相应设备的占用标记,现在是想取消掉业务安排表中日均设备下列组合框选中框。另外我是不是需要再复制这个表用来

做业务查询呢?


--  作者:Bin
--  发布时间:2015/4/25 16:03:00
--  
直接 e.datarow("列名")=""