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


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

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

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


加好友 发短信
等级:一尾狐 帖子:448 积分:3436 威望:0 精华:0 注册:2015/3/4 15:55:00
[求助]保存后不能清空TextBox 的内容  发帖心情 Post By:2015/4/19 0:20:00 [只看该作者]

[求助]以下代码保存后不能清空TextBox 的内容,请问是什么原因,我找不到原因,谢谢

发不了代码,代码在附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文本文档.txt


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望: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)

 

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

 

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

 


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


加好友 发短信
等级:一尾狐 帖子:448 积分:3436 威望:0 精华:0 注册:2015/3/4 15:55:00
回复:(狐狸爸爸)1、如果是绑定了,可能是这个原因:...  发帖心情 Post By:2015/4/19 14:32:00 [只看该作者]

他不是弹错 而是到了保存那一步之后  后面的清空TEXTBOX内容就不执行了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

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

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望: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编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望: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编辑过]

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


加好友 发短信
等级:一尾狐 帖子:448 积分:3436 威望:0 精华:0 注册:2015/3/4 15:55:00
  发帖心情 Post By:2015/4/19 16:41:00 [只看该作者]

谢谢老师 我会加强逻辑能力的

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


加好友 发短信
等级:一尾狐 帖子:448 积分:3436 威望:0 精华:0 注册:2015/3/4 15:55:00
  发帖心情 Post By:2015/4/19 18:36:00 [只看该作者]

狐爸 我想问一下  当我鼠标焦点离开这个文本框,点击某个文本框的时候月历控件执行隐藏  但是按tab键焦点同样转移,但是对象却没有隐藏 
是否要在文本框离开前做按键枚举判断?请问如何实现

 回到顶部