1

我在 Access 2007 表单上有一个 ComboBox。我创建了一个表格,其中包含输入 ComboBox 的文本值。

文本太长,所以我希望在选择任何值时将文本修剪为最后 5 个字符。

示例:在 ComboBox 中是:我最喜欢的颜色是绿色 - 10001

但是如果用户选择绿色,我只想在使用修剪的查询中插入代码10001

如何修剪选择的值/文本,以便仅将代码传递给查询的其余部分?

PARAMETERS [Forms].[ExampleForm]![cboColor] Text ( 255 );

SELECT FavColor
FROM COLOR
WHERE FavColor IS NOT NULL
HAVING (MAX(FavColorCode)=Forms.ExampleForm!Right(Trim([cboColor]),5))

我收到Undefined Function的错误消息。

感谢大家!

盖伊

4

2 回答 2

2

只是一个提示,可能是:

PARAMETERS [Forms].[ExampleForm]![cboColor] Text ( 255 );

SELECT FavColor
FROM COLOR
WHERE FavColor IS NOT NULL
AND (MAX(FavColorCode)=Right(Trim([Forms].[ExampleForm]![cboColor]),5))

您的 SQL 语句不正确,请立即尝试

于 2012-05-23T18:21:57.967 回答
1

看起来@Luka 向您展示了如何正确使用这些函数以及 from 的值cboColor。但是,在修复了查询的那部分之后,我怀疑数据库引擎会抛出一个不同的错误:

您尝试执行的查询不包含指定表达式“FavColorCode”作为聚合函数的一部分。

我认为您需要做其他事情而不是HAVING子句,或者将GROUP BY子句和聚合表达式添加到您的SELECT字段列表中。但是我不知道如何修复查询,因为我不明白它应该做什么。

于 2012-05-23T18:42:41.917 回答