Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2011, 13:02   #1
torrtik
Пользователь
 
Регистрация: 13.03.2011
Сообщений: 19
По умолчанию создание запросов на отсутствие строки

Всем Добрый день! У меня вот такая проблемка. Я создала бд из 15 таблиц. каждая таблица-- это определенный документ, у которой есть соответствующий номер. № Документов должны храниться в папках(запросах). Папка ожидания1 состоит из № документов: письмо поставщику, ответ поставщика, рекл акт, накл на отправку и претензия, при этом претензия не отображается и значения его отсутствуют.
Я попробовала сделать так:
создала запрос на таблицы, под претензией в условии отбора написала Is Null(еще пробовала ""). - строки не отображаются вообще. Таблицы все связаны... не могу понять в чем дело(
вот схема данных:
Изображения
Тип файла: jpg Безымянный.jpg (126.8 Кб, 141 просмотров)
torrtik вне форума Ответить с цитированием
Старый 04.05.2011, 13:11   #2
OlegVE
Форумчанин
 
Регистрация: 27.09.2010
Сообщений: 376
По умолчанию

Здравствуйте
Не очень понятно что Вам нужно (Вы больше объясняли что Вы делали). Дайте код Вашего запроса.
До свидания

Последний раз редактировалось OlegVE; 04.05.2011 в 13:15.
OlegVE вне форума Ответить с цитированием
Старый 04.05.2011, 13:19   #3
torrtik
Пользователь
 
Регистрация: 13.03.2011
Сообщений: 19
По умолчанию

SELECT [Письмо поставщику].[№ письма], [Ответ поставщика].[№ письма], [Рекламационный акт].№, [Накладная на отправку].№
FROM (([Письмо поставщику] INNER JOIN [Ответ поставщика] ON [Письмо поставщику].[№ письма] = [Ответ поставщика].[Исходящее письмо]) INNER JOIN [Рекламационный акт] ON [Письмо поставщику].[№ письма] = [Рекламационный акт].[№ письма поставщику]) INNER JOIN ([Накладная на отправку] INNER JOIN Претензия ON [Накладная на отправку].№ = Претензия.№) ON ([Рекламационный акт].№ = Претензия.[Р/а]) AND ([Рекламационный акт].№ = [Накладная на отправку].[Р/а])
WHERE (((Претензия.№) Is Null));
torrtik вне форума Ответить с цитированием
Старый 04.05.2011, 13:31   #4
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

неверна схема

-ответа на письмо может и не быть, а у вас jnner join
-поэтому должно быть left join основной реклам\акта с письмами\справочниками
-хотя иметь 15 справочников на письма --вряд ли правильно
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 04.05.2011, 13:33   #5
torrtik
Пользователь
 
Регистрация: 13.03.2011
Сообщений: 19
По умолчанию

Это не справочники, а документы.
И без ответа поставщика нельзя создать рекл акт.
torrtik вне форума Ответить с цитированием
Старый 04.05.2011, 13:46   #6
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

у вас 5 джойн с обязательным наличием, а проверяете на нулл
это невозможно

схема
-ответ п
-письмо п
-рекл акт
-накладная на отгр
-претензия ...........должны существовать до запроса
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 04.05.2011, 13:49   #7
OlegVE
Форумчанин
 
Регистрация: 27.09.2010
Сообщений: 376
По умолчанию

Извините, ухожу на обед, часика через полтора вернусь, а пока попробуйте добавить красное (чтобы увидеть когда появляется Null), замените все INNER на LEFT (только тогда у Вас появятся Претензия.[№] Is Null), все поля заключите в квадратные скобки и объясните зелёное
Код:
SELECT [Письмо поставщику].[№ письма], [Ответ поставщика].[№ письма], [Рекламационный акт].№, [Накладная на отправку].№, Претензия.№
FROM (([Письмо поставщику] INNER JOIN [Ответ поставщика] ON [Письмо поставщику].[№ письма] = [Ответ поставщика].[Исходящее письмо])
INNER JOIN [Рекламационный акт] ON [Письмо поставщику].[№ письма] = [Рекламационный акт].[№ письма поставщику]) INNER JOIN 
([Накладная на отправку] INNER JOIN Претензия ON [Накладная на отправку].№ = Претензия.№) ON 
([Рекламационный акт].№ = Претензия.[Р/а]) AND ([Рекламационный акт].№ = [Накладная на отправку].[Р/а])
WHERE (((Претензия.№) Is Null));
Добавка
Смотрю Вам уже начали отвечать. Считайте мой ответ неким итогом

Последний раз редактировалось OlegVE; 04.05.2011 в 13:52.
OlegVE вне форума Ответить с цитированием
Старый 04.05.2011, 13:53   #8
torrtik
Пользователь
 
Регистрация: 13.03.2011
Сообщений: 19
По умолчанию

Это потому что каждый номер документа ключ своей таблицы.
что теперь делать?
torrtik вне форума Ответить с цитированием
Старый 04.05.2011, 14:01   #9
torrtik
Пользователь
 
Регистрация: 13.03.2011
Сообщений: 19
По умолчанию

SELECT [Письмо поставщику].[№ письма], [Ответ поставщика].[№ письма], [Рекламационный акт].[№], [Накладная на отправку].[№], [Претензия].[№]
FROM (([Письмо поставщику] LEFT JOIN [Ответ поставщика] ON [Письмо поставщику].[№ письма] = [Ответ поставщика].[Исходящее письмо]) LEFT JOIN [Рекламационный акт] ON [Письмо поставщику].[№ письма] = [Рекламационный акт].[№ письма поставщику])LEFT JOIN ([Накладная на отправку] LEFT JOIN Претензия ON [Накладная на отправку].№ = Претензия.№) ON ([Рекламационный акт].№ = Претензия.[Р/а]) AND ([Рекламационный акт].№ = [Накладная на отправку].[Р/а])
WHERE (((Претензия.№) Is Null)); - не поддерживается выражение объединения
torrtik вне форума Ответить с цитированием
Старый 04.05.2011, 14:02   #10
torrtik
Пользователь
 
Регистрация: 13.03.2011
Сообщений: 19
По умолчанию

зеленое- это связи наверно... я в конструкторе делала(
torrtik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отсутствие отрисовки на DC Alex Cones Win Api 3 04.02.2011 11:59
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Доработка базы данных, а именно создание запросов Lion4ik89 Microsoft Office Access 2 15.02.2010 17:11
Отсутствие IP GAGARIN-NEW Работа с сетью в Delphi 1 17.01.2008 17:56
Проверка на отсутствие данных в БД Elena БД в Delphi 5 14.06.2007 16:10