首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >访问:更改事件后

访问:更改事件后
EN

Stack Overflow用户
提问于 2018-11-02 10:15:51
回答 3查看 358关注 0票数 1

我正在尝试创建一个执行简单数学运算的access窗体。用户输入before和after值,当用户输入after值时,被禁用的net文本框自动计算并显示净值。

之前:___

之后:____

net:(=之前-之后)

我的代码是:

代码语言:javascript
代码运行次数:0
运行
复制
   Private Sub after_Change()
       net.Value = before.Value - after.Value
   End Sub

现在有两个问题是,它会根据最后输入的值进行更改(更改5->6,它将运行带有5的代码)。并且只在第一次更改时运行代码,而不是在每次更改时运行代码。要再次运行它,您必须取消选择该文本框,然后再次选择它。

这里我漏掉了什么?

EN

回答 3

Stack Overflow用户

发布于 2018-11-02 12:01:48

试试这个:

代码语言:javascript
代码运行次数:0
运行
复制
   Private Sub after_Change()
       net.Value = before.Value - after.Text
   End Sub
票数 0
EN

Stack Overflow用户

发布于 2018-11-02 16:05:09

这应该是可行的:

代码语言:javascript
代码运行次数:0
运行
复制
Private Sub Form_Current
  net.Value = before.Text - after.Text
End Sub
票数 0
EN

Stack Overflow用户

发布于 2018-11-03 07:00:36

在VB6中:在更新事件之后使用控件

在.net/vb.net中:在更新事件之后使用控件

在asp.net中:在update事件之后使用控件。

使用c#和winforms?-您可以在更新事件后使用控件。

在FoxPro中,使用after update事件。

想要大胆猜测事件在Access中的使用吗?

提示:更新后。

因此,对于这两个控件,在update事件之后,您具有以下内容:

代码语言:javascript
代码运行次数:0
运行
复制
Call MyCalc

然后,你就有了:

代码语言:javascript
代码运行次数:0
运行
复制
Sub MyCalc

    Me.net = me.Before – me.After

End sub

如果其中一个控件可以/将为空或“空”,那么我建议:

代码语言:javascript
代码运行次数:0
运行
复制
  Me.Net = nz(me.Before,0) – nz(me.After,0)

On change真的只对一个键一个键的处理有用,因为当你在文本框中输入每个字符时,事件就会触发--你真的永远不知道用户什么时候结束。在我能想到的过去25年的桌面开发平台中,标准事件都是在更新之后。

您还注意到,这个问题100%地消除了对".text“的需要。因此,您可以按照上面的示例使用控件名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53111859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档