以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=56068)

--  作者:wumingrong1
--  发布时间:2014/8/28 16:58:00
--  [求助]
如附件:我想实现当点击  保存  按钮后;“机房板件端口表”中能够自动新增符合条件的行。条件为:将“机房端口列表”中符合“机房设备板件表”新增加行条件的内容复制到“机房板件端口表”中去。

如下图:我在“机房设备板件表”中新增加了两行;如果我点击  保存 按钮;在“机房端口列表”中将出现图2的效果。我的‘保存’按钮公式该怎么写?

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

图片点击可在新窗口打开查看此主题相关图片如下:360截图20140828164526750.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.foxdb




[此贴子已经被作者于2014-8-28 16:58:37编辑过]

--  作者:有点甜
--  发布时间:2014/8/28 17:17:00
--  

单独做一个同步按钮吧。

 

DataTables("机房板件端口表").DataRows.Clear
For Each dr As DataRow In DataTables("机房设备板件表").Select("机房名称 is not null")
    Dim drs As List(Of DataRow) = DataTables("板件端口列表").Select("设备名称 = \'" & dr("设备名称") & "\' and 设备型号 = \'" & dr("设备型号") & "\' and 板件型号 = \'" & dr("板件型号") & "\'")
    For Each r As DataRow In drs
        Dim ndr As DataRow = DataTables("机房板件端口表").AddNew
        ndr("机房名称") = dr("机房名称")
        ndr("设备名称") = r("设备名称")
        ndr("设备型号") = r("设备型号")
        ndr("端口编号") = r("端口编号")
        ndr("板件名称") = r("板件名称")
        ndr("板件型号") = r("板件型号")
        ndr("板件槽位") = dr("板件槽位")
        ndr("板件型号") = r("板件型号")
    Next
Next


--  作者:wumingrong1
--  发布时间:2014/8/28 17:39:00
--  
以上是新增按钮;如果我要是想删除 “机房设备板件表”中的某个板件 的同时能将 “机房端口列表”对应的数据删除点、该怎么写按钮命令





[此贴子已经被作者于2014-8-29 14:15:55编辑过]

--  作者:有点甜
--  发布时间:2014/8/28 17:43:00
--  

编写DataRowDeleting事件

 

Dim dr As DataRow = e.DataRow
DataTables("机房板件端口表").DeleteFor("设备名称 = \'" & dr("设备名称") & "\' and 设备型号 = \'" & dr("设备型号") & "\' and 板件型号 = \'" & dr("板件型号") & "\' and 机房名称 = \'" & dr("机房名称") & "\' and 板件槽位 = \'" & dr("板件槽位") & "\'")


--  作者:wumingrong1
--  发布时间:2014/8/29 14:17:00
--  
如果我想在删除前增加个判断条件;该怎么办?

我在 “机房端口列表”中增加了‘端口应用’列;在删除时先检测要删除的板件中的‘端口应用’列是否存在内容,如果存在就弹出提示、如果没有就直接删除;

如附件:如果我要删除 下图1这一行、就弹出“该板件有业务、不允许删除”;如果删除的是下图2这一行、就直接删除。

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

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

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

--  作者:wumingrong1
--  发布时间:2014/8/29 14:18:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.foxdb


--  作者:有点甜
--  发布时间:2014/8/29 14:31:00
--  

 beforeDeleteDataRow事件

 

Dim dr As DataRow = e.DataRow
Dim fdr As DataRow = DataTables("机房板件端口表").Find("设备名称 = \'" & dr("设备名称") & "\' and 设备型号 = \'" & dr("设备型号") & "\' and 板件型号 = \'" & dr("板件型号") & "\' and 机房名称 = \'" & dr("机房名称") & "\' and 板件槽位 = \'" & dr("板件槽位") & "\' and 端口应用 is not null")
If fdr IsNot Nothing Then
    msgbox("有内容,不能删除")
    e.Cancel = True
Else
    DataTables("机房板件端口表").DeleteFor("设备名称 = \'" & dr("设备名称") & "\' and 设备型号 = \'" & dr("设备型号") & "\' and 板件型号 = \'" & dr("板件型号") & "\' and 机房名称 = \'" & dr("机房名称") & "\' and 板件槽位 = \'" & dr("板件槽位") & "\'")
End If