Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 13.01.2016
Сообщений: 40

DLookUp в запросе Access

21.03.2016, 19:14. Показов 4943. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго вечера

Не могу разобраться с функцией DLookUp

Есть таблица spp1, которая содержит поля код1, код2 и NameP
Пытаюсь создать запрос, который выполнит следующие действия:
1. Создаст поле Выражение1, в которое поместит данные из поля Код2. Если это поле пустое, поместит туда данные из поля Код1.
2. Создаст поле Выражение2, в которое поместит Название организации из поля NameP, которое будет соответствовать значению в поле Выражение1

С первой задачей всё получилось
а вот со второй справится не могу

Код запроса:
SQL
1
2
3
4
SELECT spp1.Код1, IIf(IsNull(spp1.Код2),spp1.Код1,spp1.Код2) AS Выражение1, 
DLookUp("[SPP1.NAMEP]","SPP1",'IIf(IsNull(spp1.Код2),spp1.Код1,spp1.Код2)=spp1.Код1') AS Выражение2,
spp1.NameP
FROM spp1;
primer.rar
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.03.2016, 19:14
Ответы с готовыми решениями:

Dlookup в access бд Справочник продукции
Добрый день! Подскажите, пожалуйста,как правильно прописать выражение сравнения в функции dlookup. Задание передо мной следующее ...

Зависимые поля в форме Access, использование DLookUp
Добрый день! Имеется таблица Patient, в ней два поля - Fio (текстовое) и Address (тоже текстовое). Была создана форма Form2. В форме из...

Функция DLookUp или вернуть значение из строки выше (Access)
Добрый день, на форуме много тем, посвященных этой проблеме (добавить значение поля из строки выше), все просмотрел, сделал запрос, но...

8
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
21.03.2016, 19:25
Поле запроса не должно быть в кавычках. Попробуйте
SQL
1
2
3
4
SELECT spp1.Код1, Nz(spp1.Код2, spp1.Код1) AS Выражение1, 
DLookUp("[SPP1.NAMEP]","SPP1","Nz(spp1.Код2, spp1.Код1)=" & spp1.Код1) AS Выражение2,
spp1.NameP
FROM spp1;
1
0 / 0 / 0
Регистрация: 13.01.2016
Сообщений: 40
21.03.2016, 20:41  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Поле запроса не должно быть в кавычках. Попробуйте
SQL
Выделить код
1
2
3
4
SELECT spp1.Код1, Nz(spp1.Код2, spp1.Код1) AS Выражение1,
DLookUp("[SPP1.NAMEP]","SPP1","Nz(spp1.Код2, spp1.Код1)=" & spp1.Код1) AS Выражение2,
spp1.NameP
FROM spp1;
Пишет в этом поле - #Ошибка
0
369 / 88 / 8
Регистрация: 14.08.2012
Сообщений: 248
21.03.2016, 21:01
Цитата Сообщение от mobex Посмотреть сообщение
Пишет в этом поле - #Ошибка
Если поле Код не числовое, то обязательно будет ошибка. Но об этом предупреждать надо. Кто ж знает, что ты напридумывал.
Если текстовое то так
SQL
1
DLookUp("NAMEP","SPP1","Nz(spp1.Код2, spp1.Код1)='" & spp1.Код1 & "'") AS Выражение2
0
547 / 274 / 50
Регистрация: 03.04.2015
Сообщений: 926
21.03.2016, 21:03
у вас тип данных текстовый (mobile никак не мог это предвидеть), поэтому:
SQL
1
2
3
4
SELECT spp1.Код1, Nz(spp1.Код2, spp1.Код1) AS Выражение1, 
DLookUp("[SPP1.NAMEP]","SPP1","Nz(spp1.Код2, spp1.Код1)='" & spp1.Код1 & "'") AS Выражение2,
spp1.NameP
FROM spp1;
Добавлено через 27 секунд
опоздал..
0
0 / 0 / 0
Регистрация: 13.01.2016
Сообщений: 40
21.03.2016, 21:06  [ТС]
Цитата Сообщение от odbcsql Посмотреть сообщение
Если поле Код не числовое, то обязательно будет ошибка. Но об этом предупреждать надо. Кто ж знает, что ты напридумывал.
Если текстовое то так
SQL
Выделить код
1
DLookUp("NAMEP","SPP1","Nz(spp1.Код2, spp1.Код1)='" & spp1.Код1 & "'") AS Выражение2
Поле код - текстовое, содержит цифры и буквы

Если ставить так:
SQL
1
DLookUp("NAMEP","SPP1","Nz(spp1.Код2, spp1.Код1)='" & spp1.Код1 & "'") AS Выражение2
то выводит название только там, где код1 = выражение1
остальные ячейки пустые
0
547 / 274 / 50
Регистрация: 03.04.2015
Сообщений: 926
21.03.2016, 21:09
Поле код (оно же ID) должно быть счетчиком типа long. Вот тогда не будет путаницы и траблов с граблями
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
21.03.2016, 21:30
Лучший ответ Сообщение было отмечено alvk как решение

Решение

Эта тема как хороший пример ненормализованной структуры данных и какие грабли там расставлены. ТС пытается найти NAMEP в записях, где они отсутствуют. Но в этой же самой таблице. И разумеется наталкивается на всякие несообразности. А ведь всего-то привести структуру данных к 2 нормальной форме, чтобы все было тип-топ.
Надо выделить поле NAMEP в отдельную таблицу с ключом, поставить на поле NAMEP уникальный индекс. И тогда, связывая таблицы по ключу, можно полностью доопределить таблицу.
1
0 / 0 / 0
Регистрация: 13.01.2016
Сообщений: 40
22.03.2016, 18:36  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Эта тема как хороший пример ненормализованной структуры данных и какие грабли там расставлены. ТС пытается найти NAMEP в записях, где они отсутствуют. Но в этой же самой таблице. И разумеется наталкивается на всякие несообразности. А ведь всего-то привести структуру данных к 2 нормальной форме, чтобы все было тип-топ.
Надо выделить поле NAMEP в отдельную таблицу с ключом, поставить на поле NAMEP уникальный индекс. И тогда, связывая таблицы по ключу, можно полностью доопределить таблицу.
со структурой к сожалению ничего не поделаешь и не переделаешь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.03.2016, 18:36
Помогаю со студенческими работами здесь

If в запросе Access
Мне нужно сделать в запросе: если категория = "Одноместный", то оплата считается по одной формуле иначе оплата = считается по другой...

Дубли в запросе Access
Доброго всем вечера! помогите, пожалуйста разобраться почему в запросах возникают дубли и как их убрать? при добавлении одного...

Access Переменная в запросе
Изначально была такая проблема: Access 2007. Есть на форме кнопка и 2 поля куда вводятся даты. При нажатии кнопки данные из полей...

Вычисления в запросе access
У меня база данных ЖКХ . Мне надо рассчитать сумму за потребленные услуги по счётчику. Что бы рассчитать мне нужно тариф умножить на...

Ошибка в запросе к БД Access
Привет. Друзья, подскажите пожалуйста где ошибка? В общем нужно выбрать данные из таблички за определенный период. На форме лежит 2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru