Foxtable(狐表)用户栏目专家坐堂 → [求助]保存后不能清空TextBox 的内容


  共有3217人关注过本帖树形打印复制链接

主题:[求助]保存后不能清空TextBox 的内容

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/4/19 11:01:00 [显示全部帖子]

1、如果是绑定了,可能是这个原因:

http://www.foxtable.com/help/topics/2436.htm

 

2、如果没有绑定,自己用这个方法分析一下:

http://www.foxtable.com/help/topics/1485.htm

 

判断关键的条件是否成立,关键的代码是否执行,还可以在关键位置显示控件的值。

 

Messagebox.show("1:" & Forms("窗口名").Controls("控件名").Value)

Messagebox.show("1:" & Forms("窗口名").Controls("控件名").Value)

 

你的代码并不复杂,不过几个条件而已,自己调试判断就行,必须掌握基本的调试技能,才能自己解决多数普通问题,否则就只能坐等了。

 

搞不定再做个简单例子发上来。

 


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/4/19 15:43:00 [显示全部帖子]

代码逻一塌糊涂,一个简单的赋值也能写成这样,冗余代码如此之多,条理如此混乱,能正确执行才奇怪,你还不如直接告诉你的需求,重写代码。

 

我帮你重写了,但是不保证正确,因为不知道你的需求:

 

With e.form
    With e.form
        If .Controls("TextBox5").Value Is Nothing Then
            MsgBox("部门编号不能为空!",64, "提示")
            Tables("bmgl").AllowEdit = False
            Return
        End If
        If .Controls("TextBox6").Value Is Nothing Then
            MsgBox("部门编号不能为空!",64, "提示")
            Tables("bmgl").AllowEdit = False
            Return
        End If
        If .Controls("TextBox7").value IsNot Nothing AndAlso Isnumeric( .Controls("TextBox7").value) =False Then
            MsgBox("电话号码只能为数字!",64, "提示")
            Tables("bmgl").AllowEdit = False
            Return
        End If
        If Tables("bmgl").Current("bmbh") = .Controls("TextBox6").value Then
            Tables("bmgl").Current("bmmc") = .Controls("TextBox5").value
            Tables("bmgl").Current("bmbh")= .Controls("TextBox6").value
            Tables("bmgl").Current("tel")= .Controls("TextBox7").value
            Tables("bmgl").Current("mail")= .Controls("TextBox8").value
            Tables("bmgl").Current("bz")= .Controls("TextBox9").value
        Else
            Dim r As Integer
            r = Tables("bmgl").find( .Controls("TextBox6").value , 0, 0, False, False, True)
            If r > -1 Then
                msgbox("部门编号已存在,请更正!",64,"提示")
                .Controls("TextBox6").text =Tables("bmgl").Current("bmbh")
            Else
                Tables("bmgl").Current("bmmc") = .Controls("TextBox5").value
                Tables("bmgl").Current("bmbh")= .Controls("TextBox6").value
                Tables("bmgl").Current("tel")= .Controls("TextBox7").value
                Tables("bmgl").Current("mail")= .Controls("TextBox8").value
                Tables("bmgl").Current("bz")= .Controls("TextBox9").value
                Tables("bmgl").Current.Save
            End If
        End If
        .Controls("TextBox5").value =""
        .Controls("TextBox6").value =""
        .Controls("TextBox7").value =""
        .Controls("TextBox8").value =""
        .Controls("TextBox9").value =""
    End With
End With

[此贴子已经被作者于2015/4/19 16:01:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/4/19 16:05:00 [显示全部帖子]

再来,这样更简单点:

 

With e.form
    With e.form
        If .Controls("TextBox5").Value Is Nothing Then
            MsgBox("部门编号不能为空!",64, "提示")
            Tables("bmgl").AllowEdit = False
            Return
        End If
        If .Controls("TextBox6").Value Is Nothing Then
            MsgBox("部门编号不能为空!",64, "提示")
            Tables("bmgl").AllowEdit = False
            Return
        End If
        If .Controls("TextBox7").value IsNot Nothing AndAlso Isnumeric( .Controls("TextBox7").value) =False Then
            MsgBox("电话号码只能为数字!",64, "提示")
            Tables("bmgl").AllowEdit = False
            Return
        End If
        If Tables("bmgl").Current("bmbh") <> .Controls("TextBox6").value Then
            If DataTables("bmgl").find( "bmbh = '" & .Controls("TextBox6").value & "'") IsNot Nothing Then
                msgbox("部门编号已存在,请更正!",64,"提示")
                .Controls("TextBox6").text =Tables("bmgl").Current("bmbh")
                Return
            End If
        End If
        Tables("bmgl").Current("bmmc") = .Controls("TextBox5").value
        Tables("bmgl").Current("bmbh")= .Controls("TextBox6").value
        Tables("bmgl").Current("tel")= .Controls("TextBox7").value
        Tables("bmgl").Current("mail")= .Controls("TextBox8").value
        Tables("bmgl").Current("bz")= .Controls("TextBox9").value
        Tables("bmgl").Current.Save
        .Controls("TextBox5").value =""
        .Controls("TextBox6").value =""
        .Controls("TextBox7").value =""
        .Controls("TextBox8").value =""
        .Controls("TextBox9").value =""
    End With
End With

 

以后这么长的代码,最好也告知你的需求和设计逻辑,因为你的代码本就混乱,别人无法准确看出你要做什么。

[此贴子已经被作者于2015/4/19 16:42:48编辑过]

 回到顶部