我在MS Access表单中添加了复选框。现在我正在尝试基于这些复选框运行报告。 它们大约是6个复选框。如何将复选框中的复选框翻译为单词?
这方面的一个例子就是表格。披萨配料(洋葱,香肠,橄榄,奶酪,鸡肉,蘑菇)。 我需要能够从6个单独的复选框中打开复选框以创建一个浇头字段。
此外,更改表格以使用某种形式的列表框也是迟到的。
谢谢。
答案 0 :(得分:1)
使用类似于以下内容的控件来源将新文本字段放入报表中:
=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
答案 1 :(得分:1)
你想要这样的东西:
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现在是您的文本字段。我很积极,这是一种更优雅的方式,但在办公室度过了漫长的一天后,我的大脑有点灼烧。