将复选框转换为单词
Converting check boxes to words
我在 MS Access 表单中添加了复选框。现在我正在尝试根据这些复选框运行报告。
它们大约有 6 个复选框。如何将复选框从复选标记翻译成文字?
这方面的一个例子是在表格上。披萨配料(洋葱、香肠、橄榄、奶酪、鸡肉、蘑菇)。
我需要能够从 6 个单独的复选框中选中复选框以制作一个浇头字段。
此外,更改 table 以使用某种形式的列表框也为时已晚。
谢谢。
使用类似于以下内容的控件源将新文本字段放入您的报表中:
=iif([onions],"Onions ", "") & iif([sausage],"Sausage ") & iif([olives],"Olives ","")
等等...
如果你想在成分之间使用逗号,你也可以使用如下内容:
=Concat(", ", iif([onions],"Onions", ""), iif([sausage],"Sausage"), iif([olives],"Olives ",""))
并在您的模块之一中放置一个与此类似的 Concat() 函数:
Public Function Concat(Delimiter As String, ParamArray Strings()) As String
Dim s As Variant, ret As String
ret = ""
For Each s In Strings
If Not IsNull(s) And Not IsEmpty(s) And s <> "" Then
If ret = "" Then
ret = s
Else
ret = ret & Delimiter & s
End If
End If
Next
Concat = ret
End Function
你想要这样的东西:
If chkTopping1 = True then MyTopping1 = "Bacon"
If chkTopping2 = True then MyTopping2 = "Sausage"
If chkTopping3 = True then MyTopping3 = "Pepperoni"
If chkTopping4 = True then MyTopping4 = "Mushrooms"
If chkTopping5 = True then MyTopping5 = "Meatballs"
If chkTopping6 = True then MyTopping6 = "Olives"
If Not IsNull(MyTopping1) then
AllToppings = MyTopping1 & ", "
If Not IsNull(MyTopping2) then
AllToppings = AllToppings & MyTopping2 & ", "
If Not IsNull(MyTopping3) then
AllToppings = AllToppings & MyTopping3 & ", "
If Not IsNull(MyTopping4) then
AllToppings = AllToppings & MyTopping4 & ", "
If Not IsNull(MyTopping5) then
AllToppings = AllToppings & MyTopping5 & ", "
If Not IsNull(MyTopping6) then
AllToppings = AllToppings & MyTopping6
AllToppings 现在是您的文本字段。我很肯定有一种更优雅的方式来做到这一点,但在办公室度过漫长的一天后,我的大脑有点烧焦了。
我在 MS Access 表单中添加了复选框。现在我正在尝试根据这些复选框运行报告。 它们大约有 6 个复选框。如何将复选框从复选标记翻译成文字?
这方面的一个例子是在表格上。披萨配料(洋葱、香肠、橄榄、奶酪、鸡肉、蘑菇)。 我需要能够从 6 个单独的复选框中选中复选框以制作一个浇头字段。
此外,更改 table 以使用某种形式的列表框也为时已晚。
谢谢。
使用类似于以下内容的控件源将新文本字段放入您的报表中:
=iif([onions],"Onions ", "") & iif([sausage],"Sausage ") & iif([olives],"Olives ","")
等等...
如果你想在成分之间使用逗号,你也可以使用如下内容:
=Concat(", ", iif([onions],"Onions", ""), iif([sausage],"Sausage"), iif([olives],"Olives ",""))
并在您的模块之一中放置一个与此类似的 Concat() 函数:
Public Function Concat(Delimiter As String, ParamArray Strings()) As String
Dim s As Variant, ret As String
ret = ""
For Each s In Strings
If Not IsNull(s) And Not IsEmpty(s) And s <> "" Then
If ret = "" Then
ret = s
Else
ret = ret & Delimiter & s
End If
End If
Next
Concat = ret
End Function
你想要这样的东西:
If chkTopping1 = True then MyTopping1 = "Bacon"
If chkTopping2 = True then MyTopping2 = "Sausage"
If chkTopping3 = True then MyTopping3 = "Pepperoni"
If chkTopping4 = True then MyTopping4 = "Mushrooms"
If chkTopping5 = True then MyTopping5 = "Meatballs"
If chkTopping6 = True then MyTopping6 = "Olives"
If Not IsNull(MyTopping1) then
AllToppings = MyTopping1 & ", "
If Not IsNull(MyTopping2) then
AllToppings = AllToppings & MyTopping2 & ", "
If Not IsNull(MyTopping3) then
AllToppings = AllToppings & MyTopping3 & ", "
If Not IsNull(MyTopping4) then
AllToppings = AllToppings & MyTopping4 & ", "
If Not IsNull(MyTopping5) then
AllToppings = AllToppings & MyTopping5 & ", "
If Not IsNull(MyTopping6) then
AllToppings = AllToppings & MyTopping6
AllToppings 现在是您的文本字段。我很肯定有一种更优雅的方式来做到这一点,但在办公室度过漫长的一天后,我的大脑有点烧焦了。