2010-06-13 2 views
1

Я использую доступ и иметь этот SQLSQL, сочетающий в себе результат

SELECT land.id, land.official_name, vaksiner.vaksiner 
FROM land INNER JOIN (vaksiner INNER JOIN land_sykdom ON vaksiner.id = land_sykdom.sykdom)  ON land.kort = land_sykdom.land 
ORDER BY land.official_name 

SQL, дает мне результат:

id official_name vaksiner 

1  a    A 
1  a    C  
2  b    A 
2  b    B 
2  b    C 

Но я хочу, чтобы объединить результат, так что это выглядит как это:

id official_name vaksiner 

1  a    A, C 
2  b    A, B, C 
+0

Я не скачал это, но похоже, что он может делать то, что вам нужно? http://www.rogersaccesslibrary.com/forum/generic-function-to-concatenate-child-records_topic16.html –

+0

Если вы используете VBA или какой-либо другой язык интерфейса, вероятно, это проще сделать на процедурном языке. – dkretz

ответ

1

функции ConcatRelated знакомства Аллена Броуна (Concatenate values from related records)

Если вы сохраните существующий запрос как qryVaksinerRaw, вы можете построить новый запрос, подобный этому, для получения результатов, которые вы после.

SELECT DISTINCT 
    id, 
    official_name, 
    ConcatRelated("vaksiner","qryVaksinerRaw","id = " & [id]) AS vaksiner 
FROM qryVaksinerRaw; 

Чтобы добавить функцию в модуль, скопируйте функцию с веб-страницы, начиная с

Public Function ConcatRelated(strField As String, _ 

и продолжает включать

End Function 

Затем вставьте скопированный текст в модуль ,

Примечание: ConcatRelated() будет доступен для запросов, запускаемых изнутри Access. Однако, как и любая пользовательская функция VBA, она не может использоваться в запросах, запущенных извне Access (например, классический ASP, .Net и т. Д.)

+0

Я пробовал, но я не мог заставить его работать. Как добавить его в Access? Какую функцию я должен вставить в модуль (со ссылкой на 3-й шаг на «Как использовать функцию http://allenbrowne.com/func-concat.html)? – Newbie

+0

Спасибо, теперь это работает! – Newbie

Смежные вопросы