附加多值列表

时间:2014-02-13 23:52:28

标签: vba ms-access-2007 multivalue

我有一个Access 2007数据输入表单,该表单绑定到一个表,该表仅用作数据的保留站,直到它被审查并附加到永久表中。表中有几个字段(因此形式)具有多值选择(从查找表查询中派生)。用户不关心数据是否可搜索,因此在文本字段中存储为长列表是可以的。问题在于追加。我不能将多值列表附加到表格中。

我注意到,如果我将表保存为excel电子表格,然后将其导回到与导出表具有相同数据库结构的表中,但对于那些需要多值的字段没有多值组合框(它们现在是只是文本框)列表在那里并按我想要的方式格式化。

所以我在想,Access使用什么代码将正确的值导出到Excel中,我可以使用类似的编码附加到永久表(不必将相应的文本字段格式化为多个 - 值列表)而不是必须导出到Excel文件,然后将其导回到新模板?请注意,虽然有些列表只有10-15个选项,但有一个列表有50多种可供选择的选项。

我只是想创建一个用户友好的数据输入界面,而没有很多vba编码(我是新手)。欢迎提出其他想法。

1 个答案:

答案 0 :(得分:0)

在内部,Access正在执行Allen Browne的ConcatRelated功能。幸运的是,Allen的代码将处理多值字段,因此您可以在像这样的查询中使用它

INSERT INTO MainTable ( MealType, Meats )
SELECT MealType, ConcatRelated("Meats","TempTable","TempID=" & [TempID]) AS Expr1
FROM TempTable;

其中[MainTable]。[Meats]是Text(255)和[TempTable]。[Meats]是一个多值Lookup字段。