首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MS Access -格式化标签

MS Access -格式化标签
EN

Stack Overflow用户
提问于 2017-03-03 22:10:28
回答 1查看 118关注 0票数 0

我正在使用MS Access 2010中的表单将数据输入到表中。我已经设置了基本的函数,并添加了一些VB代码来根据需要格式化它。我正在尝试做的一件事是当一个勾选框被选中时更新该勾选框值的标签-使用下面的代码,但是当我单击“添加记录”时,标签上的格式保持不变,而不是像数据项一样清除-我不知道如何修改它以使其工作,我确信我将不得不添加一个循环或修改添加记录按钮,但我不知道从哪里开始(有30+标签和勾选框,所以如果有一个快速的方法,而不必引用所有的标签将是首选的)。我的第二个问题是因为我使用了'AfterUpdate',当我使用表单查看已经添加的记录时,格式不会随着值的变化而改变,因为没有点击任何勾选框。

代码语言:javascript
复制
Private Sub TextBox1Name_AfterUpdate()

   Const LightYellow = 10092543
   If TextBox1Name = -1 Then
       Me.Label1Name.BackStyle = 1
       Me.Label1Name.BackColor = LightYellow
   Else
       Me.Label1Name.BackStyle = 0
   End If
End Sub

任何帮助或指导都将非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-03 23:33:00

您必须在3种不同的情况下对TextBox1Name进行格式化。当更新记录时(就像您所做的那样)、当表单上的记录发生更改时(即OnCurrent事件)或当您添加新记录(即new record按钮上的OnClick事件)时。

我会这样做的方式是创建一个私有sub的代码非常类似于你有上面的,然后调用if从所有3个事件。唯一真正需要改变的是:

代码语言:javascript
复制
If Nz(TextBox1Name,0) = -1 Then

如果您的TextBox1Name的默认值为Null,而不是其他值。

这当然适用于非连续形式。对于一个连续的形式,事情有点棘手。在这种情况下,您最好的选择是条件格式。实际上,您甚至可以对单个表单使用条件格式,而不是使用VBA。

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

https://stackoverflow.com/questions/42581078

复制
相关文章

相似问题

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