|
|
|
| Здравствуйте!
Есть еще вопрос:
У меня создана таблица Документов (ключевое поле КодДокумента).
Каждый документ может быть ответом на одно или несколько предыдыущих, поэтому создана таблица Ответов из двух полей (КодДокумента и КодДокументаНаКоторыйОтвет).
А теперь для любого открытого в данный момент документа я хочу получить всю историю (т.е. таблицу документов на которые он отвечал или которые на него отвечали), причем желательно, чтобы каждый документ в таблице был всего один раз.
С помощью одного запроса тут похоже не справишься. | |
|
| |
|
|
|
| С помощью UNION можно объединить запросы. Сначалы будут выведены документы на которые он(документ) отвечал, а затем документы, которые на него ответели. | |
|
| |
|
|
|
| Понятно. Но надо ещё чтобы документы, которые отвечали не только на ТекущийДокумент были бы со своими ссылками.
Т.е. должна получиться вся история документов: Первый докумен; Те документы, которые на него ответили; Те, которые ответили на ответы и т.д. | |
|
| |
|
|
|
| Если для акса, то придется пользоваться рекордсетом. По-моему акс не допускает циклов в скл-запросах. | |
|
| |
|
|
|
| Для Акса. А что за рекордсет? | |
|
| |
|
|
|
| Рекордсет - это объект в аксе. Тут на форуме достаточно про него было. Почитайте про него в литературе. В двух словах - позволяет работать с данными, допускает всевозможные циклы и прочие радости ВБА при обработке данных, полученных из таблиц и форм. С его помощью можно просто и элегантно решать многие задачи, которые невозможно решить простыми запросами к таблицам. | |
|
| |