如何将多行中的值加入一个文本框(或一个字符串)
Posted
技术标签:
【中文标题】如何将多行中的值加入一个文本框(或一个字符串)【英文标题】:How do I join values from multiple rows into one textbox (or one string) 【发布时间】:2019-01-04 20:54:14 【问题描述】:我的问题很简单,我是 MS Access 的新手。我想将多行的数据放入一个文本框/标签中,并向其中添加一些字符串。我就是无法让它工作。
我有一个table,其中包含一些笔记本电脑及其参数,例如 CPU、CPU 制造商、内核数量等,以及所有使用的 CPU、所有制造商等的表格。
然后我有一份关于所有笔记本电脑及其规格的报告(看起来像 this)。目前,每一列都有自己的文本框,每个自定义字符串都有自己的标签,因为我还没有找到更好的解决方案。
问题是,这种方法看起来很糟糕。我想将每个“组件”放在一行中,在一个文本框/标签中,所以它们都很好地对齐。
我尝试过使用查询,但它们要么显示#error、语法错误,要么显示一些诸如 AMD Core i7 之类的废话。我一直将它们放入“控制源”:
[0_PRODUKTY]![Počet jader CPU]+"core processor "+[0_PRODUKTY]![Značka procesoru]+" "+[0_PRODUKTY]![Procesor]
Počet jamr CPU = CPU 内核数 Značka procesoru = CPU 制造商
【问题讨论】:
【参考方案1】:首先,在 VBA 中连接数据时始终使用 & 符号 &
运算符:&
运算符将始终将数据解释为字符串(在可能的情况下),而加法 +
运算符将对数字数据求和,即使此类数据以字符串形式呈现。
由于您正在从各个字段编译描述,我建议使用带有控制源的文本框:
=[0_PRODUKTY]![Počet jader CPU] & "-core processor " & [0_PRODUKTY]![Značka procesoru] & " " & [0_PRODUKTY]![Procesor]
您还可以使用 CStr
函数强制数字字段的字符串转换,该函数将变量参数强制转换为字符串:
=CStr([Počet jader CPU]) & "-core processor " & [0_PRODUKTY]![Značka procesoru] & " " & [0_PRODUKTY]![Procesor]
请注意,您可能还需要考虑空字段。
【讨论】:
所以,它现在几乎可以工作了,谢谢您的帮助先生。我的意思是,这些值是正确的,但它们只是数字而不是字符串 - 如图所示 here @uselessguy28 不客气;我已经用一个额外的建议更新了我的答案,希望能解决这个问题。=[Počet jader CPU] & "jádrový procesor " & CStr([Značka procesoru]) & " " & CStr([Procesor])
产生完全相同的结果,数字而不是字符串:/
也试过了,但它一直要求一个名为0_PRODUKTY
的参数。将应该是数字的东西转换成不是数字的东西似乎很奇怪。澄清一下,查找表都包含必要的字符串 - imgur.com/a/FdiLxHz
我从你的截图中了解到,[Počet jader CPU]
是数字,因此应该转换为字符串。以上是关于如何将多行中的值加入一个文本框(或一个字符串)的主要内容,如果未能解决你的问题,请参考以下文章