以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  更改单位  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123955)

--  作者:susu312
--  发布时间:2018/8/27 20:18:00
--  更改单位

Dim superName As String = e.Form.Controls("superName").Value
Dim organName As String = e.Form.Controls("organName").Value
Dim organId As String = e.Form.Controls("organId").Value
\'\'窗口名中包含当前单位名
Dim OldOrganName As String
Dim Parts() As String = e.Form.Text.Split("-")
OldOrganName = Parts(Parts.Length -1)

 

 

老师,我现在就是红色那部分不知如何获得那个oldOrganName,

 

比如西安分行的管理员想更改单位:榆林市中心支行  那在修改单位之前如何获得这个单位的名称用于update的where语句,我在afterload语句里面试着将单位名写到窗口标题上,但是获得的是空的


--  作者:有点蓝
--  发布时间:2018/8/27 21:16:00
--  
Dim OldOrganName As String
Dim Parts() As String = e.Form.Text.Split("-")
OldOrganName = Parts(Parts.Length -1)
e.Form.Controls("organName").Value = OldOrganName 
--  作者:susu312
--  发布时间:2018/8/27 21:53:00
--  
以下是引用有点蓝在2018/8/27 21:16:00的发言:
Dim OldOrganName As String
Dim Parts() As String = e.Form.Text.Split("-")
OldOrganName = Parts(Parts.Length -1)
e.Form.Controls("organName").Value = OldOrganName 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 

 

老师,您看,这个图的左边是更改单位窗口,右边是afterload事件

 

我想在afterload事件中获得这个单位修改之前的名字?但是我获得的是空的?


--  作者:有点蓝
--  发布时间:2018/8/27 22:10:00
--  
到绑定的当前行获取
--  作者:susu312
--  发布时间:2018/8/27 22:21:00
--  
以下是引用有点蓝在2018/8/27 22:10:00的发言:
到绑定的当前行获取


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 

老师,上图中,提示已经存在该单位,那么提示错误后,可否让它自动变为修改前的值?

 

If cmd.ExecuteScalar > 0 Then
    Messagebox.show("更改单位失败,该单位已经存在!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Form.Controls("organName").Value = OldOrganName
    Return
End If

红色这里如何给它自动加个回车 ,让它同时也显示到表里?

[此贴子已经被作者于2018/8/27 22:27:33编辑过]

--  作者:有点蓝
--  发布时间:2018/8/27 22:29:00
--  
弹出提示后,重新从窗口标题取值给回文本框

--  作者:susu312
--  发布时间:2018/8/27 22:40:00
--  
以下是引用有点蓝在2018/8/27 22:29:00的发言:
弹出提示后,重新从窗口标题取值给回文本框

f cmd.ExecuteScalar > 0 Then
    Messagebox.show("更改单位失败,该单位已经存在!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Form.Controls("organName").Value = OldOrganName
    Return
End If

红色这里如何给它自动加个回车 ,让它同时也显示到表里?

 

老师,我上面这么写后,更改窗口可以及时改为之前的值 ,但是窗口的表里面还是修改后的重复值?如何让表的值也及时回到之前 ?


--  作者:有点蓝
--  发布时间:2018/8/27 22:46:00
--  
直接给绑定的行赋值
--  作者:susu312
--  发布时间:2018/8/27 23:02:00
--  


 

cmd.CommandText = " 选择 Count(*) From {organList} Where organName = \'" & organName & "\'"
If cmd.ExecuteScalar > 0 Then
    Messagebox.show("更改单位失败,该单位已经存在!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Form.Controls("organName").Value = OldOrganName
    With Tables("organList")
         .Current("organName")=OldOrganName
    End With
    Return
End If

cmd.CommandText = "选择 Count(*) From {organList} Where organId= \'" & organId & "\'"
If cmd.ExecuteScalar > 0 Then
    Messagebox.show("更改单位失败,该金融机构编码已经存在!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If

 

 

测试用例 :  单位:榆林市中心支行

                 金融机构编码:A10000000000000

现在这个单位名称错了,我需要改成铜川市中心支行,金融机构编码是对的,我不改变 ,但是上面的代码会判断出这个机构编码已经存在,然后就无法修改成功。    


--  作者:有点蓝
--  发布时间:2018/8/27 23:13:00
--  

cmd.CommandText = " 选择 Count(*) From {organList} Where organName = \'" & organName & "\'"
If cmd.ExecuteScalar > 0 Then
    Messagebox.show("更改单位失败,该单位已经存在!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Form.Controls("organName").Value = OldOrganName
    With Tables("organList")
         .Current("organName")=OldOrganName
    End With
    Return
End If

Tables("organList") .Current。save

cmd.CommandText = "选择 Count(*) From {organList} Where organId= \'" & organId & "\'"
If cmd.ExecuteScalar > 0 Then
    Messagebox.show("更改单位失败,该金融机构编码已经存在!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If