powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вывести в поле запроса значение поля из другой таблицы
14 сообщений из 14, страница 1 из 1
Вывести в поле запроса значение поля из другой таблицы
    #39660152
Игорь С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте все.

К основной таблице с ключем КОД построен основной запрос.
В одно из его полей нужно вывести последнее (по дате например) значение (соответствующее ключу КОД) из второй таблицы.

Возможные варианты:
1. Создать запрос ко второй таблице с сортировкой по дате и обратиться к этому запросу функцией DLookUp, помещенной в требуемое поле основного запроса.
2. Использовать для этой цели подчиненный запрос, поместив его в требуемое поле (в этом случае, если не ошибаюсь, основной запрос утратит свойство обновляемости).

Возможно ли еще каким-то образом и какой вариант предпочтителен?
Благодарен заранее.
...
Рейтинг: 0 / 0
Вывести в поле запроса значение поля из другой таблицы
    #39660176
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А сделать функцию и подставить её в поле?
...
Рейтинг: 0 / 0
Вывести в поле запроса значение поля из другой таблицы
    #39660322
Игорь С, где вы будете использовать -запрос? Если в форме или отчете, то лучше вычислять значение там.
...
Рейтинг: 0 / 0
Вывести в поле запроса значение поля из другой таблицы
    #39660354
Игорь С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JossА сделать функцию и подставить её в поле?

Спасибо Joss, если я сделаю функцию, то для обращения ко второму запросу ей понадобится dlookup, так кажется?
...
Рейтинг: 0 / 0
Вывести в поле запроса значение поля из другой таблицы
    #39660355
Игорь С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кривцов АнатолийИгорь С, где вы будете использовать -запрос? Если в форме или отчете, то лучше вычислять значение там.

Спасибо, Анатолий. Да, я использую запрос для формы (ленточной) и там в поле следует поставить dlookup, а что еще?

То есть и в том и в другом случае мы использует DlookUp? Так что-ли?
...
Рейтинг: 0 / 0
Вывести в поле запроса значение поля из другой таблицы
    #39660357
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь СJossА сделать функцию и подставить её в поле?

Спасибо Joss, если я сделаю функцию, то для обращения ко второму запросу ей понадобится dlookup, так кажется?
Скорее всего ДА.
...
Рейтинг: 0 / 0
Вывести в поле запроса значение поля из другой таблицы
    #39660359
Игорь С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще-то из своего не очень большого опыта знаю (хотя не уверен), что DLookUp подтормаживает запросы, хотя сохраняет их обновляемыми
...
Рейтинг: 0 / 0
Вывести в поле запроса значение поля из другой таблицы
    #39660361
Игорь С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По-моему есть еще один путь. Перед запуском основного запроса создать таблицу, куда будут записано поле последних данных вспомогательного запроса.
Но не могу сказать насколько это эффективно.
...
Рейтинг: 0 / 0
Вывести в поле запроса значение поля из другой таблицы
    #39660370
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь С, кроме DLookUp есть ещё другие агрегатные функции (DLast, DCount, DMax), и лучше обращаться непосредственно к таблице.
...
Рейтинг: 0 / 0
Вывести в поле запроса значение поля из другой таблицы
    #39660402
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь СВообще-то из своего не очень большого опыта знаю (хотя не уверен), что DLookUp подтормаживает запросы, хотя сохраняет их обновляемымиВот что написано в HELPе:"Хотя функция DLookup позволят проводить поиск значений во внешней таблице, обычно более эффективным приемом оказывается создание запроса (то бишь набора записей), содержащего все необходимые поля, с последующим созданием формы или отчета на базе этого запроса." Конечно использование Dlookup для создания набора записей-это дебилизм,но если Вам надо вычислить конкретное значение одного поля в одной (активной)записи,то любая доменная функция зачастую работает быстрее (особенно на больших таблицах-можете замерить время выполнения функции и запроса), т.к. после нахождения первой записи соответствующей критерию, функция прекращает работу. Кстати в Вашем случае подойдет Dmax
...
Рейтинг: 0 / 0
Вывести в поле запроса значение поля из другой таблицы
    #39660691
Игорь С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkuИгорь СВообще-то из своего не очень большого опыта знаю (хотя не уверен), что DLookUp подтормаживает запросы, хотя сохраняет их обновляемымиВот что написано в HELPе:"Хотя функция DLookup позволят проводить поиск значений во внешней таблице, обычно более эффективным приемом оказывается создание запроса (то бишь набора записей), содержащего все необходимые поля, с последующим созданием формы или отчета на базе этого запроса." Конечно использование Dlookup для создания набора записей-это дебилизм,но если Вам надо вычислить конкретное значение одного поля в одной (активной)записи,то любая доменная функция зачастую работает быстрее (особенно на больших таблицах-можете замерить время выполнения функции и запроса), т.к. после нахождения первой записи соответствующей критерию, функция прекращает работу. Кстати в Вашем случае подойдет Dmax

Спасибо
...
Рейтинг: 0 / 0
Вывести в поле запроса значение поля из другой таблицы
    #39660696
Игорь С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во-первых: речь шла не об использовании DLookUp для создания набора записи, а о нахождении конкретного значения некоего поля,
соответствующего "самой свежей" дате в другом поле таблицы
Во-вторых: DMax ищет что-то максимальное в поле набора записей,
нам же нужно найти значение поля, при дополнительном условии - что другое поле соответствует дате
самого "свежего" заказа для конкретного исполнителя. Т.е нужно использовать DlookUp с дополнительными условиями
отбора кода исполнителя и "свежайшей" даты.
К чему применять DLookUp - к исходной таблице, к промежуточному запросу или к промежуточной таблице - вот в чем был вопрос, а также о возможных иных способах решения.

Спасибо за внимание.
...
Рейтинг: 0 / 0
Вывести в поле запроса значение поля из другой таблицы
    #39660712
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы решал задачу двумя запросами.
1. Выстраивал все записи в порядке уменьшения даты
2. Брал первую запись из получившегося набора для конкретного исполнителя
...
Рейтинг: 0 / 0
Вывести в поле запроса значение поля из другой таблицы
    #39660756
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь С... нужно найти значение поля, при дополнительном условии -
что другое поле соответствует дате самого "свежего" заказа для конкретного исполнителя.
Т.е нужно использовать DlookUp с дополнительными условиями
отбора кода исполнителя и "свежайшей" даты...
.
Код: sql
1.
DlookUp("поле","таблица","Id=" & T.Id & " AND дата=" & DMax("дата","таблица", "Id=" & T.Id))  
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вывести в поле запроса значение поля из другой таблицы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]