如何将多行中的值加入一个文本框(或一个字符串)

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] 是数字,因此应该转换为字符串。

以上是关于如何将多行中的值加入一个文本框(或一个字符串)的主要内容,如果未能解决你的问题,请参考以下文章

PHP如何传递文本框的值到数据库操作

多行文本框:在状态栏中显示当前行/字符索引

如何不断滚动到多行文本框中的文本末尾? [复制]

如何将数据库中的多行显示到多个文本框?

在js中,如何替换一个文本中的多个字符?

将控件值(多行文本框、NumericUpDowns、复选框)保存到文件/从文件中加载