设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2746|回复: 10
打印 上一主题 下一主题

[窗体] 求助!窗体文本框既可计算又可输入?

[复制链接]
跳转到指定楼层
1#
发表于 2009-4-29 09:49:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
窗体上有三个文本框A、B、C,其中文本框C=A×B;这个效果我是会的;在C的控件来源中输入表达式即可;

但是有时候有些例外情况,会出现C不等于A×B,这时就需要人工输入C的值;这个我就不会了,文本框的控件来源设置表达式后就不能人工编辑了。

请高手帮助!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-4-29 10:35:38 | 只看该作者
可以用双击时间写:
me.c=me.A*me.B

这样不双击时,可以输入你要的数字。
3#
发表于 2009-4-29 10:36:42 | 只看该作者
改变思路就好了,不要直接在控件来源中如此设置。附件供参考!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
4#
发表于 2009-4-29 11:29:24 | 只看该作者
描述不清
5#
 楼主| 发表于 2009-4-30 13:15:13 | 只看该作者
谢谢楼上的几位。2楼、3楼的方法偶都会,但是不是我想要的效果。

之所以想要这样的效果,是希望能增加录入的速度。
6#
发表于 2009-5-4 16:28:51 | 只看该作者
c的控件来来原输入表达式,怎么输入啊??

我在c的控件来源里输入:  nz(a.value) * nz(b.value) 不行啊??出错??

点击这里给我发消息

7#
发表于 2009-5-4 16:37:39 | 只看该作者
这是我的一个可输入算式的文本框的代码,你参考一下:

Private Sub 收入_AfterUpdate()
On Error GoTo Err_1:

    If Len(Nz(Me.收入)) > 0 Then
        Me.收入 = Eval(Nz(Me.收入))
    End If

Exit_1:
    Exit Sub
Err_1:
    MsgBox "收入必须输入数字或可转化为数字的表达式。", vbInformation, "错误" & Err.Number
    Me.收入 = Null
    Resume Exit_1
End Sub
8#
 楼主| 发表于 2009-5-4 21:40:50 | 只看该作者
谢谢楼上的。

Me.收入 = Eval(Nz(Me.收入))这边的右边是什么意思?

另外问个题外话,比如我想知道Eval()是什么函数,在access帮助中搜索,条件为“Eval”,但是搜索结果却是一大堆我不想要的答案,请问我应该怎么选择搜索的条件?

点击这里给我发消息

9#
发表于 2009-5-4 22:21:10 | 只看该作者
在VBA编辑器中把光标放在 Eval 上,按F1键
10#
发表于 2009-5-4 22:39:28 | 只看该作者
最好的办法就是设置默认值
建立一个函数
Function SetCDefaultValue()
c.DefaultValue = Nz([a]) * Nz([b])
End Function
然后将文本框a和b的更新后属性设为:=SetCDefaultValue()
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-6-6 20:45 , Processed in 0.097771 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表