以文本方式查看主题

-  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=185331)

--  作者:nmamtf
--  发布时间:2023/2/16 18:34:00
--  [求助]控件执行命令修改


图片点击可在新窗口打开查看此主题相关图片如下:项目录入窗口.jpg
图片点击可在新窗口打开查看

 

图中的“撤销修改”控件的执行命令,如何禁止对项目分配和项目查询的执行?

 

Dim Result As DialogResult
Result = MessageBox.Show("确定要撤销修改吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    Tables("经营总表").Current.Reject() \'撤销编辑
    Tables("经营总表").Current("编辑者") = Nothing
    Tables("经营总表").Current.Save()
    e.Form.Close()   
Else
    Return
End If

StatusBar.Message2 = ""

[此贴子已经被作者于2023/2/16 18:37:23编辑过]

--  作者:有点蓝
--  发布时间:2023/2/16 20:10:00
--  
意思是禁止项目分配和项目查询这2个按钮的使用?参考:http://www.foxtable.com/webhelp/topics/0714.htm
--  作者:nmamtf
--  发布时间:2023/2/17 13:02:00
--  

老师,你好!

是我的表达不够清晰,我的意思是当我执行编辑窗口中的撤销修改命令后仅仅对除了项目分配和项目查询以外的修改进行撤销,项目分配和项目查询的修改内容不能撤销。

撤销修改控件的命令:

Dim Result As DialogResult
Result = MessageBox.Show("确定要撤销修改吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    Tables("经营总表").Current.Reject() \'撤销编辑
    Tables("经营总表").Current("编辑者") = Nothing
    Tables("经营总表").Current.Save()
    e.Form.Close()   
Else
    Return
End If

StatusBar.Message2 = ""

 

项目分配控件的命令:

If DataTables.Contains("图纸放行台帐") = False Then
    DataTables.Load("图纸放行台帐")
End If

Tables("图纸放行台帐").Filter = "[_Identify] Is Null"
\'Dim n As Integer = 1
Dim num1 As Integer
Dim num2 As Integer

Dim cjzyval As String = e.Form.Controls("CheckedComboBox1").value \'参加专业
Dim cjryval As String = e.Form.Controls("TextBox10").value \'参加人员
Dim cdrq As String = e.Form.Controls("DateTimePicker6").value \'计划要求_存档日期

Dim nms() As String = cjzyval.Split(",")
Dim nmsry() As String = cjryval.Split(",")

If cjzyval Is Nothing Then
    num1 = 1
Else
    num1 = nms.Count
End If

If num1 >= 0 Then
    For i As Integer = 0 To num1 - 1
        Dim drnew As Row = Tables("图纸放行台帐").AddNew()
        drnew("总项目名称") = e.Form.Controls("TextBox4").value
        drnew("档案号") = e.Form.Controls("TextBox9").value
        drnew("专业") = nms(i)
        drnew("设计人") = nmsry(i)
        drnew("项目经理") = e.Form.Controls("ComboBox7").value
        drnew("计划要求_存档日期") = cdrq
       
    Next
End If

Forms("项目分配").Open

 

\'--------------------
\'If chk26.Checked = True Then
    \'e.Form.Controls("项目分配").Enabled = False
    \'\'MessageBox.Show("该项目已分配了!新增专业可点击项目查询.","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
\'Else
    \'e.Form.Controls("项目分配").Enabled = True
\'End If

        \'drnew("") = e.Form.Controls("TextBox").value


\'DataTables("图纸放行台帐").LoadFilter = "[_Identify] Is Null"
\'DataTables("图纸放行台帐").Load()


\'If cjryval Is Nothing Then
    \'num2 = 0
\'Else
    \'num2 = nmsry.Count
\'End If

 

项目查询 控件的命令:

If DataTables.Contains("图纸放行台帐") = False Then
    DataTables.Load("图纸放行台帐")
End If
Tables("图纸放行台帐").Filter = "[_Identify] Is Null"

Dim dah As String = e.Form.Controls("TextBox9").value  \'档案号不重复
Dim fl As String

If dah Is Nothing Then
    MessageBox.Show("""项目文件号:""" &" 不能为空!")
    Return
Else
    fl = "档案号 Like \'" & dah & "%\'"
    DataTables("图纸放行台帐").LoadFilter = fl
    DataTables("图纸放行台帐").Load()
   
    Forms("项目查询").Open
End If

 

\'MainTable = Tables("图纸放行台帐")

 


--  作者:有点蓝
--  发布时间:2023/2/17 13:37:00
--  
可以试试OriginalValuehttp://www.foxtable.com/webhelp/topics/2369.htm,比如把修改前的值改回来

dim dr as datarow = Tables("经营总表").Current.datarow
dr("第一列") = dr.OriginalValue("第一列")

--  作者:nmamtf
--  发布时间:2023/2/17 14:16:00
--  

老师,你好!由于撤销修改的控件执行后导致项目分配和项目查询修改内容撤销修改时图纸放行程序回撤发生错误。因此是否能在项目分配和项目查询的控件命令中增加一条命令使项目分配或项目查询的修改不会随着撤销修改的命令执行时发生变化。请帮忙完善项目分配和项目查询的控件命令。谢谢~


--  作者:有点蓝
--  发布时间:2023/2/17 14:28:00
--  
没有办法完善,请按照4楼的方法处理
--  作者:nmamtf
--  发布时间:2023/2/17 16:12:00
--  

老师,你好!
四楼的修改意见尝试了,无法解决。
设计管理系统和图纸放行系统是两个不同的程序。设计管理系统是为管理者提供的平台,图纸放行系统是为设计者提供的平台,这两个平台存放的位置不同。它们之间是由项目分配和项目查询联系在一起。因此需要在设计管理系统点击撤销修改时,除了项目分配和项目查询的修改内容不能回撤(这部分内容已经发送到图纸放行系统中存档,撤回导致图纸放行系统存档内容发生错误。)其它内容的修改都可以回撤这需要在项目分配和项目查询控件增加命令。或者当点击运行项目分配和项目查询控件修改后,撤销修改命令无法执行,这需要撤销修改控件增加命令,帮忙看一下如何实现。


--  作者:有点蓝
--  发布时间:2023/2/17 16:46:00
--  
怎么改的,把改后的代码发上来看看