首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MS Access:基于字符串的多值字段的查找值

MS Access:基于字符串的多值字段的查找值
EN

Stack Overflow用户
提问于 2016-04-08 18:34:05
回答 1查看 1.2K关注 0票数 0

以下是我的情况:

  • 链接表(因此我实际上不能修改列配置)有一个列,其中包含一个逗号分隔的值列表。这是一个文本字符串--不是一个真正的多值字段。
  • 我需要将这些值映射到查找表,并使用查找值返回以逗号分隔的列表。

因此,假设一个行的值是: A,B,C,在这个列中。映射表映射:a_1、B_

我可以在查询中添加一列,指示显示控件为组合框(这是您通常对多值字段所做的操作),选择“我的行源”,并绑定这些列--但只有具有单个选项值的行才能正确映射。如果它有一个逗号分隔的列表,根据上面的例子,它不映射值。我该怎么做这张地图?

EN

回答 1

Stack Overflow用户

发布于 2016-04-08 23:18:04

要显示这样的结果,您需要一个VBA函数。

代码看起来应该是:

代码语言:javascript
复制
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

上述代码将放置在标准代码模块中。

现在,您可以在表单中放置文本框,并将控件源设置为

代码语言:javascript
复制
=(TransComma([name of field]))

对于报表或sql查询,只需转到:

代码语言:javascript
复制
Select firstName, LastName, ColorList, TransComma([ColorList) 
as translated from tblCustomers

因此,一旦您构建了这个转换函数,就可以使用它将数字转换成一些文本。

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

https://stackoverflow.com/questions/36506836

复制
相关文章

相似问题

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