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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.08.2009, 17:33   #1
МаришаГ
 
Регистрация: 20.08.2009
Сообщений: 5
По умолчанию запрос на выборку

Добрый день! Подскажите, пожалуйста, как решить данную проблему:
Есть 2 таблицы
1. Счет импорт с полями Клиент, Номер счета,Сумма, Дата
2.Счет экспорт ( с такими же полями)
На основании этих таблиц делаются запросы на выборку выставленных счетов по клиенту. Затем делается форма на основании этих двух несвязанных запросов по данным о счетах клиента. Мы выбираем из списка название клиента и должны отобразиться все импортные и экспортные счета по нему. Проблема в том, что если клиент встречается в обоих запросах, то все правильно работает, а если только в одном, то выводится форма пустая.
Как можно задать условие, что если запрос на выборку не находит информацию по данному клиенту, то нужно выводить строчку с нулями?
МаришаГ вне форума Ответить с цитированием
Старый 20.08.2009, 22:33   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте МаришаГ.
"выводить строчку с нулями" будет Count, а это действительно необходимо?
проще будет слить данные в одну таблицу Счета добавив логическое поле ИмпортЭкспорт, а "Счет импорт" и "Счет экспорт", если они нужны, формировать запросами. "все импортные и экспортные счета" будут в запросе к одной таблице, не потребуется объединения "двух несвязанных запросов" и проблема уйдет.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 21.08.2009, 10:33   #3
МаришаГ
 
Регистрация: 20.08.2009
Сообщений: 5
По умолчанию

Спасибо за совет, но если все таки мне необходимо вывести строчку с нулями, как это сделать? Если добавить в запрос на выборку поле Count, которое будет считать количество строк, то как и где задать условие, что если это количество равно 0, то во всех значениях запроса надо проставить 0.
МаришаГ вне форума Ответить с цитированием
Старый 21.08.2009, 10:54   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

выложите пример БД, добавьте туда запрос, который работает, но не выдаёт строчку с нулями - посмотрим, что можно сделать.
p.s. не забудьте запаковать БД в архив перед тем, как прикрепить её на форум.
p.p.s. прикрепить файлик можно через кнопочку "Расширенный режим" - там "Управление вложениями"
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.08.2009, 11:12   #5
МаришаГ
 
Регистрация: 20.08.2009
Сообщений: 5
По умолчанию

Вот часть моей базы, только связи между таблицами не згаю как экспортировать. Открываем форму Контрагент1, выбираем клиента и временной интервал, если информация по данному клиенту есть во всех используемых, то все работает. Необходимо изменить все итоговые запросы ( называются ....Query2).
Таблицы между собой не связаны и возможно нужна структурная переработка, но на самом деле база очень сложная, громоздкая и хотелось бы попробовать сделать эту нулевую строку. Заранее спасибо!
Вложения
Тип файла: rar db1.rar (77.2 Кб, 13 просмотров)
МаришаГ вне форума Ответить с цитированием
Старый 21.08.2009, 23:46   #6
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте МаришаГ.
позволю себе несколько замечаний:
"Необходимо изменить все итоговые запросы..." - обязательно, а лучше удалить и все промежуточные с ними, т.к. в основе должен лежать источник (таблица или запрос) в котором "клиенты" сохранены, и по связи "один ко многим" базовый источник должен иметь статус "один" а не "много" как это сделано у Вас, в этом и есть причина.
Почему "лучше удалить" - использование ПОДЗАПРОСОВ избавит Вас от ненужных промежуточных конструкций. Для получения базовых познаний SQL (и о подзапросах в том числе) рекомендую - Мартин Грубер - Понимание SQL.rar (1.28 Мб)
Удачи Вам.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос на выборку из нескольких таблиц bullvinkle Microsoft Office Access 9 11.04.2012 04:35
Запрос на выборку + сумма EugeneIsmatulin SQL, базы данных 3 16.06.2009 15:08
простейший запрос на выборку kate158 БД в Delphi 2 13.05.2009 14:33
Запрос на выборку Ruska882009 Microsoft Office Access 2 26.02.2009 20:39
в БД есть запрос 6 (на выборку) s1a9s8h6a БД в Delphi 12 02.01.2009 00:48