将计算出的 X 数添加到表单输入的方法?
Way to add a calculated number of X's to a form input?
我有某些产品代码 letters/digits 例如53HD6J、HH88WBD3(在 5 到 10 letters/digits 之间变化)。为了让我们的条形码能够正确扫描这些,必须有 13 letters/digits。我不想让用户在每个代码后输入 -XXXX,而是让 Access 计算 13 和代码长度之间的差异,然后用 X 填充剩余部分。这可以通过 vba 或 and 表达式实现吗?
我目前在一个公式中使用大约 6 个 IIF 来用 X 填充剩余的空白,但希望有更简单的方法。
我有一张表格可以输入批号(产品代码)。提交该表格后,它会链接到打印的报告。报告上有那些批号(53HD6J、HH88WBD3)。我想要这个功能的位置是在代码旁边的文本框中,Access 确定代码的长度并计算要添加的剩余 X。这是条形码字体,所以这个文本框是 53HD6JXXXXXXX 所在的位置。希望一切顺利!
所以我已经弄清楚了那部分。我现在的问题是我的条形码字体无论如何都会读取文本并翻译它,所以当批号为空白时条形码会显示(我有四个要输入的批次代码点)。所以我之前得到的是 =IIf([Text31]="",""&[Text31]&"","")似乎工作。希望我能用新的公式继续这个。如果不清楚,请告诉我。
**(“” & & “”是为了扫码)。
我的公式在 IIf 的正上方是错误的。我想到了!忘了我用过'喜欢“*”'。谢谢!
你可以用 String()
和 Left()
做你想做的事。
这是一个来自 Access Immediate window 的例子:
product_code = "53HD6J"
? product_code & String(13, "X")
53HD6JXXXXXXXXXXXXX
? Left(product_code & String(13, "X"), 13)
53HD6JXXXXXXX
根据对您问题的更新,我认为您可以将这种方法用于要显示 "expanded" 产品代码的文本框的控制源。
假设您的报告有一个名为 txtProduct_code 的文本框,其中显示原始产品代码,例如 53HD6J .还有第二个文本框,您要在其中显示具有所需数量 X 个字符的值 (53HD6JXXXXXXX)。
将其用作第二个文本框的控件源属性:
= Left([txtProduct_code] & String(13, "X"), 13)
或者,您可以将其设为报表的记录源查询中的字段表达式。
SELECT
product_code,
Left(product_code & String(13, "X"), 13) AS expanded_product_code
FROM YourTable;
我有某些产品代码 letters/digits 例如53HD6J、HH88WBD3(在 5 到 10 letters/digits 之间变化)。为了让我们的条形码能够正确扫描这些,必须有 13 letters/digits。我不想让用户在每个代码后输入 -XXXX,而是让 Access 计算 13 和代码长度之间的差异,然后用 X 填充剩余部分。这可以通过 vba 或 and 表达式实现吗?
我目前在一个公式中使用大约 6 个 IIF 来用 X 填充剩余的空白,但希望有更简单的方法。
我有一张表格可以输入批号(产品代码)。提交该表格后,它会链接到打印的报告。报告上有那些批号(53HD6J、HH88WBD3)。我想要这个功能的位置是在代码旁边的文本框中,Access 确定代码的长度并计算要添加的剩余 X。这是条形码字体,所以这个文本框是 53HD6JXXXXXXX 所在的位置。希望一切顺利!
所以我已经弄清楚了那部分。我现在的问题是我的条形码字体无论如何都会读取文本并翻译它,所以当批号为空白时条形码会显示(我有四个要输入的批次代码点)。所以我之前得到的是 =IIf([Text31]="",""&[Text31]&"","")似乎工作。希望我能用新的公式继续这个。如果不清楚,请告诉我。 **(“” & & “”是为了扫码)。
我的公式在 IIf 的正上方是错误的。我想到了!忘了我用过'喜欢“*”'。谢谢!
你可以用 String()
和 Left()
做你想做的事。
这是一个来自 Access Immediate window 的例子:
product_code = "53HD6J"
? product_code & String(13, "X")
53HD6JXXXXXXXXXXXXX
? Left(product_code & String(13, "X"), 13)
53HD6JXXXXXXX
根据对您问题的更新,我认为您可以将这种方法用于要显示 "expanded" 产品代码的文本框的控制源。
假设您的报告有一个名为 txtProduct_code 的文本框,其中显示原始产品代码,例如 53HD6J .还有第二个文本框,您要在其中显示具有所需数量 X 个字符的值 (53HD6JXXXXXXX)。
将其用作第二个文本框的控件源属性:
= Left([txtProduct_code] & String(13, "X"), 13)
或者,您可以将其设为报表的记录源查询中的字段表达式。
SELECT
product_code,
Left(product_code & String(13, "X"), 13) AS expanded_product_code
FROM YourTable;