Foxtable(狐表)用户栏目专家坐堂 → 请教窗口录入问题


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

主题:请教窗口录入问题

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


加好友 发短信
等级:幼狐 帖子:81 积分:632 威望:0 精华:0 注册:2018/4/17 11:59:00
请教窗口录入问题  发帖心情 Post By:2018/5/21 14:46:00 [只看该作者]

老师您好!
我写了一段代码,本想是输入“b”后"焊接调试检验表"里输入代码里的相应字段后添加新的行。但是表里总是添加新的两行。这是这么回事?
static flag As Boolean = False

If e.Form.controls("TextBox3").text = ("f") Then

    Tables("焊接调试检验表").Current("结果结论1") = ("√")
    Tables("焊接调试检验表").Current("结果结论2") = ("√")
    Tables("焊接调试检验表").Current("产品处理结果1") = ("转下一道")
    Tables("焊接调试检验表").Current("产品处理结果2") = ("转下一道")
    Tables("焊接调试检验表").Current("名称") = ("电脑中频治疗仪")
    
 Forms("焊接调试检验").panel.FindForm.Activate
 Forms("焊接调试检验").Controls("TextBox1").Select()
Tables("焊接调试检验表").AddNew()
   End If
If e.Form.controls("TextBox3").text = ("b") Then
 Forms("焊接调试检验").panel.FindForm.Activate
 Forms("焊接调试检验").Controls("DropBox1").Select()
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/21 15:05:00 [只看该作者]

1、你其它地方肯定也写有 addNew 的代码吧?输出代码看看

 

http://www.foxtable.com/webhelp/scr/1987.htm

 

2、不会做请上传具体实例说明。


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


加好友 发短信
等级:幼狐 帖子:81 积分:632 威望:0 精华:0 注册:2018/4/17 11:59:00
  发帖心情 Post By:2018/5/21 15:37:00 [只看该作者]

老师,确实是这样。

简单说明一下功能。检验结果:输入f增加一行,光标移到产品编码框,循环输入。检验结果:输入b光标移到人为故障:在性能检验:那里回车,增加一行,光标回到产品编码框



焊接调试检验_Button2_Click

 

Tables("焊接调试检验表").AddNew()

 

焊接调试检验_Button3_Click

 

If Tables("焊接调试检验表").Current IsNot Nothing Then

Tables("焊接调试检验表").Current.Delete

End If

 

焊接调试检验_DropBox1_Leave

 

Tables("焊接调试检验表").Current("名称") = ("电脑中频治疗仪")

Tables("焊接调试检验表").Current("结果结论1")=e.Form.Controls("DropBox1").Text

Forms("焊接调试检验").panel.FindForm.Activate

Forms("焊接调试检验").Controls("DropBox2").Select()

 

焊接调试检验_DropBox2_Leave

 

Tables("焊接调试检验表").Current("名称") = ("电脑中频治疗仪")

Tables("焊接调试检验表").Current("结果结论2")=e.Form.Controls("DropBox1").Text

Tables("焊接调试检验表").Current("检验人")=e.Form.Controls("ComboBox1").Text

Tables("焊接调试检验表").Current("产品处理结果1")=Nothing

Tables("焊接调试检验表").Current("产品处理结果2")=Nothing  

Forms("焊接调试检验").panel.FindForm.Activate

Forms("焊接调试检验").Controls("TextBox1").Select()

Tables("焊接调试检验表").AddNew()

 

焊接调试检验_TextBox1_Enter

 

e.Form.controls("TextBox3").text =Nothing

e.Form.controls("DropBox1").text =Nothing

e.Form.controls("DropBox2").text =Nothing

 

焊接调试检验_TextBox1_Leave

 

Forms("焊接调试检验").panel.FindForm.Activate

Forms("焊接调试检验").Controls("TextBox3").Select()

 

焊接调试检验_TextBox1_TextChanged

 

static flag As Boolean = False

If e.sender.text.length > 3 AndAlso flag Then

    If e.sender.text(0) = "0" And e.sender.text(1)="1" Then

       e.Form.controls("TextBox2").text = "J18A1"

        e.Form.controls("TextBox2").WriteValue    

End If

End If

flag = True

 

焊接调试检验_TextBox3_Leave

 

static flag As Boolean = False

 

If e.Form.controls("TextBox3").text = ("f") Then

 

    Tables("焊接调试检验表").Current("结果结论1") = ("√")

    Tables("焊接调试检验表").Current("结果结论2") = ("√")

    Tables("焊接调试检验表").Current("产品处理结果1") = ("转下一道")

    Tables("焊接调试检验表").Current("产品处理结果2") = ("转下一道")

    Tables("焊接调试检验表").Current("名称") = ("电脑中频治疗仪")

    

 Forms("焊接调试检验").panel.FindForm.Activate

 Forms("焊接调试检验").Controls("TextBox1").Select()

Tables("焊接调试检验表").AddNew()

   End If

If e.Form.controls("TextBox3").text = ("b") Then

 Forms("焊接调试检验").panel.FindForm.Activate

 Forms("焊接调试检验").Controls("DropBox1").Select()

End If
此主题相关图片如下:1111.jpg
按此在新窗口浏览图片

[此贴子已经被作者于2018/5/21 15:46:48编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/21 15:42:00 [只看该作者]

你有几个地方有addnew的代码,请结合你的逻辑测试addnew是否编写正确。

 

不然,你上次具体例子说明你要做什么。


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


加好友 发短信
等级:幼狐 帖子:81 积分:632 威望:0 精华:0 注册:2018/4/17 11:59:00
  发帖心情 Post By:2018/5/21 16:13:00 [只看该作者]


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

图片点击可在新窗口打开查看此主题相关图片如下:13.jpg
图片点击可在新窗口打开查看
1.无故障时检验结果输入f,有故障时检验结果输入b。表格自动输入。输入完成后增加一行
2.有故障时转为人工输入,有时会是多段输入。在性能检验框输入完成后打回车增加一行。
图片点击可在新窗口打开查看此主题相关图片如下:12.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/21 16:16:00 [只看该作者]

dropbox2的leave事件有代码 Tables("焊接调试检验表").AddNew()

 

你下拉选择的时候,leave会被触发。


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


加好友 发短信
等级:幼狐 帖子:81 积分:632 威望:0 精华:0 注册:2018/4/17 11:59:00
  发帖心情 Post By:2018/5/21 16:24:00 [只看该作者]

老师代码中总共有3个Tables("焊接调试检验表").AddNew()指令。我把其余两个给删了,就留下一个还是曾两行。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/21 16:31:00 [只看该作者]

以下是引用jinhetian在2018/5/21 16:24:00的发言:
老师代码中总共有3个Tables("焊接调试检验表").AddNew()指令。我把其余两个给删了,就留下一个还是曾两行。

 

那就是你datacolchanged等表事件有影响代码。

 

如果自己不会调试,请上传具体实例测试。


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


加好友 发短信
等级:幼狐 帖子:81 积分:632 威望:0 精华:0 注册:2018/4/17 11:59:00
  发帖心情 Post By:2018/5/21 16:57:00 [只看该作者]

老师
图片点击可在新窗口打开查看此主题相关图片如下:14.jpg
图片点击可在新窗口打开查看
三个控件时代码执行正常,增加一行。只要再增加一个控件(文本框或组合框)不做任何设置,执行代码后就增加两行。
[此贴子已经被作者于2018/5/21 17:01:16编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/21 17:10:00 [只看该作者]

在你addnew代码前加入msgbox(123),看什么时候会导致弹出,是否重复弹出。

 

做一个实例发上来测试。


 回到顶部
总数 15 1 2 下一页