禁用或灰色出复选框,如果组合或文本框中填入

嗨,

我能得到一个组合框用下面的代码以禁用文本框,但如何使这项工作,如果它不是一个文本框,它是一个复选框?:

私人小组Combo_Box_AfterUpdate()

Me.Text_Box.Enabled =(Me.Combo_Box.ListIndex> = 0)

结束小组

谢谢

--------------解决方案-------------

有几件事情错在这里:

1.你不能比较的东西为NULL。 没什么等于null,甚至不为空。 ISNULL函数来确定,如果事情是零。

2.在任何情况下,Enabled属性为True或False,NOT NULL。

所以:

私人小组Text_box_AfterUpdate()

如果ISNULL(Me.text_box)然后
Me.Text_box_2.Enabled =假
其他
Me.Text.box_2.Enabled = TRUE
万一

结束小组

或更简洁:

私人小组Text_box_AfterUpdate()

Me.Text.box_2.Enabled =不ISNULL(Me.text_box)

结束小组

如果这是一个绑定的形式,你想,当你移动到一个现有的记录,其中Text_box是空的Text.box_2被禁用,然后也把代码的形式的当前事件过程英寸


肯谢里丹,斯塔福德,英格兰

turbon5.0写道:

我能得到一个组合框以禁止使用下面的代码文本框,
但如何使这项工作,如果它不是一个文本框,这是一个
复选框?:

私人小组Combo_Box_AfterUpdate()

Me.Text_Box.Enabled =(Me.Combo_Box.ListIndex> = 0)

结束小组

您的代码应为复选框工作了。
什么是确切的问题? 一个错误,没有任何反应,...?




卡尔
*******
访问FAQ(德国/意大利):http://www.donkarl.com

这对控制的任何kibd一样的:
Me.thecheckbox.Enabled =(Me.Combo_Box.ListIndex> = 0)

这不是您在其他线程问同样的问题?

任何控件的Enabled属性有真/假(是/否,开/关)值。 您正在使用套Enabled属性取决于表达式返回值的代码:Me.Combo_Box.ListIndex> = 0,如果一个项目在组合中选择并没有什么选择了一个假的表达式返回真。 因此,这将与任何防治工作。


希望这有助于,斯科特<> PS请发表回应,让我们知道我们的答案是否帮助或没有。 微软MVP访问2009年作者:Microsoft Office Access 2007中VBA技术编辑:特别版使用Microsoft Access 2007和Access 2007窗体,报表和查询

我只是再次尝试这样做,它的工作! 它不工作的原因是因为我试图把在控制名称和实际现场的不是这个名字。 任谁最初创建数据库的人怎么了名称为“主管的姓名”作为名字,但'被搞乱了我。 有没有一种方法,以保持他们的名字是没有编码识别出它是别的方式? 我所做的就是把'出来并使其“监督员名”。

再次感谢你们是最棒的!

好吧,我想基于一个文本框的代码如下所示,但它显然没有做任何事情。 我想有禁用或灰色的另一个框,如果另一个文本框是空白或空:

私人小组Text_box_AfterUpdate()
如果Me.text_box.Enabled = null,则
Me.Text_box_2.Enabled =假
其他
Me.Text.box_2.Enabled = TRUE
万一

结束小组

有几件事情错在这里:

1.你不能比较的东西为NULL。 没什么等于null,甚至不为空。 ISNULL函数来确定,如果事情是零。

2.在任何情况下,Enabled属性为True或False,NOT NULL。

所以:

私人小组Text_box_AfterUpdate()

如果ISNULL(Me.text_box)然后
Me.Text_box_2.Enabled =假
其他
Me.Text.box_2.Enabled = TRUE
万一

结束小组

或更简洁:

私人小组Text_box_AfterUpdate()

Me.Text.box_2.Enabled =不ISNULL(Me.text_box)

结束小组

如果这是一个绑定的形式,你想,当你移动到一个现有的记录,其中Text_box是空的Text.box_2被禁用,然后也把代码的形式的当前事件过程英寸


肯谢里丹,斯塔福德,英格兰

谢谢,我得到这个现在的工作。 有没有办法,我可以看看,显示所有这些不同的代码,因为我注意到,对于一个复选框,组合框,文本框的代码都不同的地方吗? 此外,有没有办法有字段名是主管的,而不是只是上司? 我改变了代码,不包括',因为这是导致代码改变?

谢谢,我得到这个现在的工作。 有没有办法,我可以看看,显示所有这些不同的代码,因为我注意到,对于一个复选框,组合框,文本框的代码都不同的地方吗? 此外,有没有办法有字段名是主管的,而不是只是上司? 我改变了代码,不包括',因为这是导致代码改变?

首先,代码是没有什么不同。 唯一改变的事情就是控制名字。 看到我前面的解释。

其次,你不应该使用对象名称中的空格,尤其是没有撇号。 大多数开发人员使用的命名惯例,以确定像chkcontrolname的复选框或txtcontrolname为文本框控件的类型。 如果您在访问命名约定搜索,你会发现常用的前缀的例子。


希望这有助于,斯科特<> PS请发表回应,让我们知道我们的答案是否帮助或没有。 微软MVP访问2009年作者:Microsoft Office Access 2007中VBA技术编辑:特别版使用Microsoft Access 2007和Access 2007窗体,报表和查询
要添加到什么斯科特说我绘控件名和列(场)名称之间的区别。

我自己用的'标签'的控件名称,TXT文本框,CBO组合框,善堂的列表框,CHK的复选框等等。 不要在表中使用这些对列的名称,但是,或者为表的名称。 标签TBL通常用于表名称,有时标记将被用于列名,来识别数据类型和/或柱的作用,例如,峰对主键,FK为一个外键列; 我不知道是什么将与由多个列的复合主键来完成,其中个别列外键,或者确实在那里一个主键也是一个一对一关系的外键?

我个人不喜欢在所有使用的标签表和列名,因为我觉得这些获得语义的方式,读或写复杂的SQL语句时尤为如此。 我一直跟着乔Celko的铅和尝试使用复数或集体的名字表,如员工,因为这反映了一个事实,即表是一组。 对于列我尝试使用单数名词,例如姓,因为这反映了一个列表示该表代表实体类型的单个属性的事实

一个人不应该规定对这样的事情,但是。 在一天结束的时候,最好使用任何一个是最舒适的。

有一件事我会采取的坚定的立场,然而,就是空格或其他特殊字符,应在所有对象名称是可以避免的; 它使生活变得更加简单。 对于像名字的合成词,然后驼峰可以用作在这里,虽然有些人喜欢驼峰,名字,和其他人全部小写,名字,对于列名和表名正确的情况下。 再次选择是你的。 用于对象的名称是完全不相关的,只要对用户来讲,当然,如在任何应用价值的名称,他们将只接口经由表单和报告的数据库,其中的字幕可以是不管名称的任何适当基础对象。


肯谢里丹,斯塔福德,英格兰

从我使用了3路码似乎他们彼此而不仅仅是控制名称不同。 这些是我使用的代码:

启用空白文本框代码,需要以填写或不为空的另一个文本框

私人小组Text_box_AfterUpdate()
Me.Text.box_2.Enabled =不ISNULL(Me.text_box)
结束小组

启用的组合框代码需要,以填补另一文本框

私人小组Combo_box _afterupdate()

Me.Any_Other_Box_Event.Enabled =(Me.Combo_box.ListIndex> = 0)

结束小组

启用的复选框的代码需要,以填补另一箱

私人小组Check_box_AfterUpdate()

如果Check_box然后'如果check_box打勾

Me.Other_field.Enabled = TRUE

其他

Me.Other_field.Enabled =假

万一

结束小组

分类:办公室 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.630 (s). 10 q(s)