Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запрос на выборку с объединением множества записей
 
 автор: ROM!MDB   (06.08.2007 в 14:11)   личное сообщение
 
 

Есть таблица
с полями ID; Name
1; A
1; B
1; C
2; D
2; E
Возможно ли запросом на выборку сформировать запись ?
ID; Name
1; A, B, C
2; D,E

  Ответить  
 
 автор: osmor   (06.08.2007 в 14:56)   личное сообщение
 
 

http://hiprog.com/index.php?option=com_content&task=view&id=334&Itemid=35

  Ответить  
 
 автор: ROM!MDB   (08.08.2007 в 10:28)   личное сообщение
 
 

Спасибо за ссылку! Вот только есть одна проблема. В моей ситуации используется описанный случай 2
Случай 2. Отличается от случая 1 снятием предположения 2.
То есть, допускается случай, когда все записи Tab1 имеют один ID.

И все бы хорошо только запрос не выдает не одной записи.
Помогите разобраться. Вот код:

Select ID_TK, Last(UnionStr2(ID_TK, SHIFR)) AS FamUnion 
FROM tbl_A
WHERE IsEmpty(UnionStr2())
GROUP BY ID_TK;

Public Function UnionStr2(Optional ID, Optional Fam)
Static IDOld, FamUnion
If IsMissing(ID) Then
IDOld = Empty
Exit Function
End If
If IDOld <> ID Then
IDOld = ID
FamUnion = Null
End If
FamUnion = IIf(IsNull(FamUnion), Fam, FamUnion & (", " + Fam))
UnionStr2 = FamUnion
End Function

Где может быть собака зарыта?

  Ответить  
 
 автор: ROM!MDB   (08.08.2007 в 11:49)   личное сообщение
 
 

Ауууу кто-нибудь. Help!

  Ответить  
 
 автор: osmor   (08.08.2007 в 12:44)   личное сообщение
 
 

а так?

Select ID_TK, Last(UnionStr2(ID_TK, SHIFR)) AS FamUnion  
FROM tbl_A 
WHERE not IsEmpty(UnionStr2()) 
GROUP BY ID_TK; 

  Ответить  
 
 автор: ROM!MDB   (08.08.2007 в 14:31)   личное сообщение
 
 

Все работает. Откуда столько познаний если не секрет? (можно указать источники :-))

  Ответить  
 
 автор: ГлазастыйМышь   (08.08.2007 в 14:54)   личное сообщение
 
 

Ты что, этож ГУРУ! Он мозгом до всего дошел!

  Ответить  
 
 автор: ROM!MDB   (08.08.2007 в 15:05)   личное сообщение
 
 

Понятно. Отползаю не скрипя половицами

  Ответить  
 
 автор: osmor   (08.08.2007 в 15:23)   личное сообщение
 
 

ну в данном случае все просто.
Этот вопрос уже как-то ставал пару лет назад... выяснилось что начиная с XP (или может с 2000) IsEmpty работает не нак как в предыдущих версиях....
сути точно уже не помню. помню что тогда просле нескольких экспериментов замена на NOT IsEmpty помогла.
а вообще ...
"И опыт - сын ошибок трудных"

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList