我正在使用MS Access 2010中的表单将数据输入到表中。我已经设置了基本功能,并添加了一些VB代码来根据需要进行格式化。我试图做的事情之一是更新tickbox值的标签 - 选择该tickbox时 - 使用下面的代码工作,但是当我点击“添加记录”时,标签上的格式仍然保留,而不是像数据一样清除项目 - 我不能解决如何修改这个工作,我相信我将不得不添加一个循环或修改添加记录按钮,但我不知道从哪里开始(有30多个标签和tickbox如果有一个快速的方法,而不必参考所有优先考虑的标签)。我的第二个问题是因为我使用'AfterUpdate',当我使用表单查看已添加的记录时,由于没有单击tickbox,所以格式不会随着值的变化而变化。MS Access - 格式化标签
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
任何帮助或方向将非常赞赏与此。
您使用的是连续表单吗?检查控件类型可以做很多事情。考虑一下,你已经有了真假,所以你可能不需要if和else。 – Fionnuala
你的第二个问题很简单 - 只需添加一个'Form_Current'事件来根据需要设置/重置标签。至于'点击'添加'按钮后'重新设置30多个标签...',您可以通过所有Me.Controls循环查找复选框类型并重置,或者手动重置20多行代码(Boo!)这是识别具有有意义控件名称(例如chkLarge,chkSmall等)的价值的好地方,因为您可以使用代码来查找名称以及控件类型。 –