以下是我的情况:
因此,假设一行中包含以下值:A,B,C。映射表映射:A | 1,B | 2,C | 3。我查询中的结果列应列出1,2,3(映射值)。
我可以在查询中添加一个列,指示显示控件是组合框(这是您通常对多值字段执行的操作),选择我的行源,并绑定列 - 但只包含行单个选项值将正确映射。如果它具有以逗号分隔的列表,则根据上面的示例,它不会映射值。我该怎么做这个映射?
答案 0 :(得分:1)
要显示此类结果,您需要一个VBA功能。
代码如下:
Public Function TransComma(MyList As Variant) As String
Dim TransList As Variant
Dim Token As Variant
Dim result As String
If IsNull(MyList) = False Then
TransList = Split(MyList, ",")
For Each Token In TransList
If result <> "" Then result = result & ","
result = result & DLookup("Color", "tblColors", "ID = " & Trim(Token))
Next Token
TransComma = result
End If
End Function
以上代码将放在标准代码模块中。
现在,您可以在表单中放置一个文本框,并将控件源设置为此
=(TransComma([name of field]))
对于报告或SQL查询,只需转到:
Select firstName, LastName, ColorList, TransComma([ColorList)
as translated from tblCustomers
因此,一旦构建了这个翻译函数,就可以使用它将数字翻译成某些文本。