2012-05-23 16 views
1

上我有一个组合框的Access 2007窗体上的值或文本。 我创建保存文本值馈送到组合框的表。如何修剪那些在ComboBox中选定一个访问表

的文本太长,所以我想如果选择任意值,成为修剪到最后5个字符 文本。

例子:在下拉列表是:我最喜欢的颜色是绿色 - 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)) 

我得到未定义功能的错误消息。

谢谢大家!

盖伊

回答

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语句是不正确的,试试这个现在

+0

谢谢你的方向和矫正。 :) – Asynchronous

1

看起来@Luka展示了如何用正确的使用这些功能值从cboColor。但是,在修复了这部分查询之后,我怀疑db引擎会抛出一个不同的错误:

您试图执行一个查询,该查询不包含指定表达式'FavColorCode'作为聚合函数的一部分。

我认为你需要或者做别的事情,而不是HAVING条款,或添加GROUP BY子句和聚集表达式您SELECT字段列表。不过,我不知道如何解决查询,因为我不明白它应该做什么。

相关问题