Создание (формирование) запросов. Создание простого запроса на выборку Создание запроса на выборку с помощью Конструктора

Как правильно сформулировать клиентский запрос на расстановку? Об этом часто спрашивают клиенты. Некоторые из них даже обращаются за предварительной консультацией: "Помогите разобраться и сформулировать запрос, я запуталась".

Давайте разберёмся.

Подходов к правильному расстановочному запросу исторически сложилось несколько. Это связано с тем, как развивались расстановки как метод, наряду с другими направлениями психотерапии и традициями духовной практики. Когда расстановки только-только вошли в практику (в конце 70-х — начале 80-х годов прошлого века), на пике популярности были методы т.н. "краткосрочной терапии, ориентированной на решение". В противовес долгой психотерапевтической работе (в т.ч. психоанализу) терапевты стали развивать методы быстрой, конкретной помощи клиенту. Для такой помощи требовался ясный запрос. Критерии достижения этого запроса должны быть чётко понятны как клиенту, так и терапевту. "Я хочу получать бОльшую зарплату, но если я иду к начальнику просить повышение, я холодею, потею и у меня ноги подгибаются" . Задача: пойти к начальнику за повышением, попросить его и получить желаемое. Над этой задачей будем работать, например, 10 сессий. В конце клиента спросят, на сколько процентов увереннее он себя чувствует (как минимум). Успешная терапия: повышение получено.

Поскольку расстановки, безусловно, краткосрочная работа, её стали "по аналогии" относить к группе методов краткосрочной терапии и применять к ней те же требования к запросу и результативности, которые приняты в этих методах. Этому способствовал также интерес к расстановкам известных специалистов по краткосрочной терапии (Маттиас Варга фон Кибед и Инзе Шпаррер). И, я думаю, неявно этому способствовал также энтузиазм Хеллингера и его склонность говорить о расстановках в таких выражениях как "решение найдено". В своих ранних работах он нередко говорил об "устранении симптомов", "решении проблемы алкоголизма" и т.п.

До сих пор можно встретить "старых" расстановщиков, которые просят от клиента конкретную формулировку желаемого результата. Я даже встречала коллег (например, Томас Хафер), которые записывают на листочек запрос клиента и в конце расстановки проверяют, что именно этот запрос выполнен, т.е. состояние заместителей соответствует желаемому состоянию клиента.

Наряду с этими историческими причинами, есть не всегда осознаваемое стремление клиента сформулировать что-то конкретное, просто потому, что расстановка сейчас будет одна, стоит она дорого, и возможно, её долго ждали и "надо хорошо использовать свой шанс".

Вместе с тем, есть и другой, почти противоположный подход к запросу. Он состоит в том, что запрос не нужен вовсе . На это тоже есть свои исторические причины, связанные, прежде всего, со стилем работы Берта Хеллингера.

В ранних расстановках Хеллингер всегда расставлял текущую и/или родительскую семью клиента. Хеллингер спрашивал, в чем проблема клиента, но что бы он ни отвечал, расстановка всегда сводилась к работе с членами семьи. Возникает справедливый вопрос: зачем спрашивать? Позднее, когда Хеллингер сформулировал, что работа идёт с системой в целом (а не с клиентом как таковым), запрос стал терять своё значение "узнать, что хочет клиент" и приобрёл другой смысл. Запрос нужен для того, чтобы в диалоге с расстановщиком установить контакт . Те, кто знаком с творчеством Хеллингера, наверняка могут привести много примеров того, как Хеллингер отказывался делать расстановку, едва выслушав две-три фразы клиента. "Ты меня не уважаешь, я не могу работать с тобой".

Нередко Хеллингер работал, вообще не обменявшись ни одним словом относительно запроса клиента.

Как же разобраться во всем этом многообразии обычному клиенту? Главное, что я хотела бы донести до [своих] клиентов, что любая путаница (как и любая ясность) относительно запроса — это совершенно нормально. Ваш внутренний процесс выражается так, как это привычно и естественно для вас. А со стороны метода нет никаких ограничений на способы выражения запроса. Если вы можете "только" сесть рядом с расстановщиком и разрыдаться — этого совершенно достаточно. Если вы неделю думали над чёткой формулировкой и изложили её мне — это тоже нормально. Даже если в этой формулировке пятнадцать пунктов и все запутано. Даже если эта формулировка развалилась ровно в тот момент, когда вы оказались на стуле рядом со мною.

Я вслед за Хеллингером считаю, что главное для начала работы — это уважение и контакт между клиентом и расстановщиком. Способ, которым это будет достигнуто, не важен. Технически я могу работать как по чёткой формулировке, так и без запроса вообще. Обычно на длительной группе у меня много и тех и других работ.

Как у каждого расстановщика, у меня есть свои предпочтения, состояния, в которых я себя чувствую более комфортно. В работе с запросом я скорее склонна к формулировкам невысокой чёткости, которые клиент готов исследовать в расстановке и менять, если это будет необходимо, прямо в процессе. Например, для меня формулировка "хочу выйти замуж за нормального мужика" сложнее в работе, чем "я очень одинока и хотела бы понять, как мне обрести способность вступать в гармоничные отношения, или что этому мешает" . Первая формулировка неявно ставит меня в роль "того, кто принесёт результат", а вторая разворачивает клиентку к тому, где ей больно… При этом, я отношусь с уважением к тому, что степень контакта с болью может быть такой, что она видима только через отсутствие желаемого результата, и больше пока никак.

По моим наблюдениям и опыту, поле лучше всего отзывается на запросы, которые обращаются к исследованию и трансформации боли. Я ощущаю, что таково базовое движение, существующее в поле — подойти к болевому, сжатому, отвергнутому состоянию, прикоснуться к нему и тем самым сделать его видимым, принятым, проходимым. В широком смысле слова это и есть реализация Первого Порядка (закона, сформулированного Хеллингером) систем: никто не исключён. Если шире, ничто не исключено. Если боль исключена, она действует. Если боль пройдена, она теряет влияние и силу.

Исходя из такого понимания, совершенно неважно, каким способом мы с клиентом нашли "то, где болит". Была ли это формулировка и была ли она чёткой. Поменялась ли эта формулировка пять раз за группу или остаётся твёрдой. Или мы просто сидели молча. Или клиентка плакала, а я сидела рядом. Я всегда ищу невербальный контакт (точнее, он есть всегда, даже если мы не отдаём себе в этом отчёт), я настраиваюсь на клиента и через своё тело могу чувствовать, что с ним происходит. Иногда эта чувствительность очень чёткая, иногда она даёт сбои, но в любом случае она есть и приносит ту или иную степень контакта, помимо или в дополнение к любым формулировкам. Дополнительный контакт и ясность принесут затем заместители, когда мы начнём расстановку.

Вы можете помочь хорошему контакту, отвечая себе на вопрос "где больно" или "что не так" . Ответ может быть: "здесь" (в сердце) или "мама" (отношения с мамой причиняют страдания) или "муж не хочет ребёнка, а я хочу" или "мой сотрудник меня подсиживает" или любая другая ясная или неясная формулировка. Обратите внимание, что даже при полном отсутствии вербальной формулировки вы "почему-то" знаете, что что-то не так, иначе бы вы не пришли на группу. Это знание обычно имеет своё место в вашем теле, вы можете просто показать на это место — и это будет очень хорошая, очень чёткая "формулировка запроса"!

Таким образом, для меня ответ на вопрос "что такое хороший расстановочный запрос" звучит так: это может быть любая формулировка или отсутствие формулировки , если в результате нашего взаимодействия мы с клиентом оба ощутим контакт и доверие друг к другу, чтобы начать работу.

Процедура формирования запросов ИОН-offline в программе «Референт».

В разделе «Выходной контроль» окна программы «Референт» нужно нажать кнопку («Запросы ФНС») на панели инструментов.

Примечание. Если программа «Референт» настроена на работу с несколькими почтовыми ящиками, то после нажатия на кнопку «Запросы ФНС» откроется окно «Запросы ФНС. Выбор ящика». В этом окне с помощью кнопки следует выбрать из выпадающего списка наименование организации, с почтового ящика которой нужно отправить запрос, и нажать на кнопку «ОК».

В данном окне нужно поставить галочки напротив тех КБК, которые будут добавлены в список выбора КБК при формировании запросов в налоговую инспекцию.

Для того чтобы было удобнее найти нужные КБК, используется поле «Фильтр».

После того как все необходимые КБК выбраны, нажмите кнопку «Сохранить».

В поле «Группировка» окна «Запрос ИОН» указывается одно из двух значений:

  • группировать по видам платежа;
  • не группировать по видам платежа.

Если необходимо сформировать запрос на перечень налоговых деклараций (расчётов) и бухгалтерской отчётности, то нужно заполнить поля «С» и «По» , где указывается период, на который нужен запрос. Также в поле «Отчётность» указывается тип документов:

  • все виды деклараций;
  • первичные;
  • корректирующие (последняя коррекция).

Если нужно получить акт сверки расчётов по налогам, сборам, пени и штрафам, то следует указать дату, на которую требуется сверка (в поле «На дату»), и добавить нужные КБК в список вышеуказанным способом.

После того как все необходимые поля будут заполнены, следует нажать на кнопку «Создать».

Затем в окне «Выходного контроля» появится файл для отправки, который необходимо пометить галочкой и нажать «Отправить».

Данная форма позволяет сформировать запросы в инспекции ФНС России на получение следующих документов:

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

В поле «Отправитель» указывается организация, с почтового ящика которой отправляется запрос. Поле «Направление (ИФНС)» показывает номер транзитной налоговой инспекции (указывается для КНП, во всех остальных случаях номера транзитной ИФНС и конечной совпадают). В поле «Ответственное лицо» указывается Ф.И.О. владельца сертификата ключа подписи.

В поле «Налогоплательщик» нужно указать организацию, для которой создается запрос. Для этого нажмите кнопку , появится окно «Список юридических и физических лиц» Здесь необходимо выделить курсором организацию, для которой создается запрос, и нажать кнопку «Выбрать».

Далее в окне «Запрос ИОН» нужно указать налоговую инспекцию, в которой состоит на учёте налогоплательщик (поле «Конечная ИФНС»). Если в поле «Конечная ИФНС» указать значение «0000», то налогоплательщик получит ответ по всем обособленным подразделениям своей организации. Поле «КПП» нужно заполнить, если необходимо получить информацию по одному конкретному объекту налогообложения, или оставить пустым в случае, когда требуется информация по всем объектам.

Также необходимо указать желаемый формат ответа из ИФНС (XML, XLS, PDF или RTF) в поле «Формат ответа». В поле «Код запроса» указывается, какой именно документ нужно получить из налоговой инспекции:

  • справка о состоянии расчётов по налогам, сборам, пени и штрафам;
  • выписка операций по расчётам с бюджетом;
  • перечень налоговых деклараций (расчётов) и бухгалтерской отчётности;
  • акт сверки расчётов по налогам, сборам, пеням, штрафам, процентам.

Справка об исполнении налогоплательщиком (плательщиком сборов, налоговым агентом) обязанности по уплате налогов, сборов, пеней, штрафов.

Окно «Запрос ИОН» меняет вид в соответствии с тем, какое значение установлено в поле «Код запроса».

Если нужно получить справку о состоянии расчётов по налогам, сборам, пени и штрафам, то далее заполняется поле «На дату» (число, на которое хотите получить справку из ИФНС).

Если необходимо сформировать запрос на выписку операций по расчётам с бюджетом, то появляются следующие поля: «Год», «Группировка» и поле, где необходимо указать КБК. В поле «Год» нужно указать год, на который требуется выписка операций. Далее нужно выбрать интересующие КБК. Они добавляются в список с помощью кнопки(при нажатии этой кнопки появляется справочник, из которого выбираются нужные КБК двойным щелчком мыши) и удаляются из списка с помощью кнопки . Также в запросах с типом 2 и 4 имеется возможность ввода КБК вручную. Для этого нужно ввести код КБК в поле «КБК», которое находится над справочником, и нажать клавишу Enter.

Если в запросе с типом «2 - выписка операций по расчётам с бюджетом» не указывать КБК, то в ответ поступит информация по всем налоговым обстоятельствам на заданную дату для налогоплательщика.

Для того чтобы настроить список выбора КБК, сверху в меню выберите «Справочники - КБК...».

Откроется окно «Выбор КБК».

Инструкция по формированию запросов ИОН-offline в системе «Онлайн-Спринтер»

Для того чтобы воспользоваться услугой ИОН-offline, необходимо:


Инструкция по формированию запросов offline для ПК «1С-Спринтер»

Для формирования запроса:


Запрос в ПФР отправляется аналогичным образом с закладки «ПФР».

Как создать и отправить запрос ИОН-offline в программе Такском-Доклайнер?

Для создания запроса ИОН-offline в программе «Такском-Доклайнер»:


Тема 2.3. Программные средства презентаций и основы офисного программирования

Тема 2.4. Системы управления базами данных и экспертные системы

2.4.11. Учебная база данных с главной кнопочной формой "Training_students" - Скачать


СУБД и экспертные системы

2.4. Системы управления базами данных и экспертные системы

2.4.4. Создание (формирование) запросов

Запрос (query) – это средство выбора необходимой информации из базы данных. Вопрос, сформированный по отношению к базе данных, и есть запрос. Применяются два типа запросов: по образцу (QBE – Query by example) и структурированный язык запросов (SQL – Structured Query Language).

QBE - запрос по образцу – средство для отыскания необходимой информации в базе данных. Он формируется не на специальном языке, а путем заполнения бланка запроса в окне Конструктора запросов.

SQL – запросы – это запросы, которые составляются (программистами) из последовательности SQL – инструкций. Эти инструкции задают, что надо сделать с входным набором данных для генерации выходного набора. Все запросы Access строит на основе SQL – запросов, чтобы посмотреть их, необходимо в активном окне проектирования запроса выполнить команду Вид/SQL.

Существует несколько типов запросов: на выборку, на обновление, на добавление, на удаление, перекрестный запрос, создание таблиц. Наиболее распространенным является запрос на выборку. Запросы на выборку используются для отбора нужной пользователю информации, содержащейся в таблицах. Они создаются только для связанных таблиц.

2.4.4.1. Создание запроса на выборку с помощью Мастера

При создании query необходимо определить:

  • поля в базе данных, по которым будет идти поиск информации;
  • предмет поиска в базе данных;
  • перечень полей в результате выполнения запроса.

В окне база данных выбрать вкладку Запросы и дважды щелкнуть на пиктограмме Создание query с помощью мастера, появится окно Создание простых запросов.


Рис. 1.

В окне мастера выбрать необходимую таблицу (таблицу - источник) из опции Таблицы и запросы и выбрать поля данных. Если query формируется на основе нескольких таблиц, необходимо повторить действия для каждой таблицы – источника.

Затем в окне Мастера надо выбрать подробный или итоговый отчет и щелкнуть на кнопке Далее. После этого необходимо задать имя запроса и выбрать один из вариантов дальнейшего действия: Открыть query для просмотра данных или Изменить макет запроса и нажать кнопку Готово. В результате чего получите готовый query.

2.4.4.2. Создание запроса на выборку с помощью Конструктора

С помощью конструктора можно создать следующие виды запросов:

  1. Простой.
  2. По условию.
  3. Параметрические.
  4. Итоговые.
  5. С вычисляемыми полями.

Чтобы вызвать Конструктор запросов, необходимо перейти в окно базы данных. В окне база данных необходимо выбрать вкладку Запросы и дважды щелкнуть на пиктограмме Создание запроса в режиме конструктора. Появится активное окно Добавление таблицы на фоне неактивного окна «Запрос: запрос на выборку».

В окне Добавление таблицы следует выбрать таблицу – источник или несколько таблиц из представленного списка таблиц, на основе которых будет проводиться выбор данных, и щелкнуть на кнопке Добавить. После этого закрыть окно Добавление таблицы, окно «Запрос: запрос на выборку» станет активным.

Окно Конструктора состоит из двух частей – верхней и нижней. В верхней части окна размещается схема данных запроса, которая содержит список таблиц – источников и отражает связь между ними.

В нижней части окна находится Бланк построения запроса QBE (Query by Example), в котором каждая строка выполняет определенную функцию:

  1. Поле – указывает имена полей, которые участвуют в запросе.
  2. Имя таблицы – имя таблицы, с которой выбрано это поле.
  3. Сортировка – указывает тип сортировки.
  4. Вывод на экран – устанавливает флажок просмотра поля на экране.
  5. Условия отбора - задаются критерии поиска.
  6. Или – задаются дополнительные критерии отбора.



Рис. 2.

Запрос на выборку

В окне «Запрос: запрос на выборку» с помощью инструментов формируем query:

  1. Выбрать таблицу – источник, из которой производится выборка записей.
  2. Переместить имена полей с источника в Бланк запроса. Например, из таблицы Группы студентов отбуксировать поле Название в первое поле Бланка запросов, из таблицы Студенты отбуксировать поле Фамилии во второе поле Бланка запросов, а из таблицы Успеваемость отбуксировать поле Оценка в третье поле и из таблицы Дисциплины отбуксировать поле Название в четвертое поле Бланка запросов.
  3. Задать принцип сортировки. Курсор мыши переместить в строку Сортировка для любого поля, появится кнопка открытия списка режимов сортировки: по возрастанию и по убыванию. Например, установить в поле Фамилия режим сортировки – по возрастанию.
  4. В строке вывод на экран автоматически устанавливается флажок просмотра найденной информации в поле.
  5. В строке "Условия" отбора и строке "Или" необходимо ввести условия ограниченного поиска – критерии поиска. Например, в поле Оценка ввести - "отл/A", т.е. отображать все фамилии студентов, которые получили оценки отл/A.
  6. После завершения формирования запроса закрыть окно Запрос на выборку. Откроется окно диалога Сохранить – ответить Да (ввести имя созданного запроса, например, Образец запроса в режиме Конструктор) и щелкнуть ОК и вернуться в окно базы данных.



Рис. 3.

Чтобы открыть query из окна базы данных, необходимо выделить имя запроса и щелкнуть кнопку Открыть, на экране появится окно запрос на выборку с требуемым именем.



Рис. 4.

Чтобы внести изменения в query его необходимо выбрать щелчком мыши в окне базы данных, выполнить щелчок по кнопке Конструктор, внести изменения. Сохранить запрос, повторить его выполнение.

Параметрические запросы

Запросы, представляющие собой варианты базового запроса и незначительно отличающиеся друг от друга, называются параметрическими. В параметрическом запросе указывается критерий, который может изменяться по заказу пользователя.

Последовательность создания параметрического запроса:

  1. Создать query в режиме конструктора или открыть существующий запрос в режиме конструктора, например «Образец запроса в режиме Конструктор».
  2. В Бланк запроса в строке Условия отбора ввести условие отбора в виде приглашения в квадратных скобках, например [Введите фамилию].
  3. Закрыть окно Запрос на выборку, на вопрос о сохранении изменения ответить – Да. Вернуться в окно базы данных, где созданный query будет выделен.
  4. Выполнить query, щелкнув по кнопке: Открыть. В появившемся на экране окне диалога «Введите значение параметра» надо ввести, например фамилию студента, информацию об успеваемости которого необходимо получить, выполнить щелчок по кнопке ОК.

Если вам нужно выбрать определенные данные из одного или нескольких источников, можно воспользоваться запросом на выборку. Запрос на выборку позволяет получить только необходимые сведения, а также помогает объединять информацию из нескольких источников. В качестве источников данных для запросов на выборку можно использовать таблицы и другие такие же запросы. В этом разделе вкратце рассматриваются запросы на выборку и предлагаются пошаговые инструкции по их созданию с помощью Мастера запросов либо в Конструктор.

Если вы хотите узнать больше о принципах работы запросов на примере базы данных Northwind, ознакомьтесь со статьей Общие сведения о запросах .

В этой статье

Общие сведения

Когда возникает потребность в каких-то данных, редко бывает необходимо все содержимое одной таблицы. Например, если вам нужна информация из таблицы контактов, как правило, речь идет о конкретной записи или только о номере телефона. Иногда бывает необходимо объединить данные сразу из нескольких таблиц, например совместить информацию о клиентах со сведениями о заказчиках. Для выбора необходимых данных используются запросы на выборку.

Запрос на выборку - это объект базы данных, который показывает информацию в режим таблицы. Запрос не хранит данные, но содержит данные, которые хранятся в таблицах. В запросе можно отобразить данные из одной или нескольких таблиц, из других запросов или из двух сочетаний.

Преимущества запросов

Запрос позволяет выполнять перечисленные ниже задачи.

    Просматривать значения только из полей, которые вас интересуют. При открытии таблицы отображаются все поля. Вы можете сохранить запрос, который выдает лишь некоторые из них.

    Примечание: Запрос только возвращает данные, но не сохраняет их. При сохранении запроса вы не сохраняете копию соответствующих данных.

    Объединять данные из нескольких источников. В таблице обычно можно увидеть только те сведения, которые в ней хранятся. Запрос позволяет выбрать поля из разных источников и указать, как именно нужно объединить информацию.

    Использовать выражения в качестве полей. Например, в роли поля может выступить функция, возвращающая дату, а с помощью функции форматирования можно управлять форматом значений из полей в результатах запроса.

    Просматривать записи, которые отвечают указанным вами условиям. При открытии таблицы отображаются все записи. Вы можете сохранить запрос, который выдает лишь некоторые из них.

Основные этапы создания запроса на выборку

Вы можете создать запрос на выборку с помощью мастера или конструктора запросов. Некоторые элементы недоступны в мастере, однако их можно добавить позже из конструктора. Хотя это разные способы, основные этапы аналогичны.

    Выберите таблицы или запросы, которые хотите использовать в качестве источников данных.

    Укажите поля из источников данных, которые хотите включить в результаты.

    Также можно задать условия, которые ограничивают набор возвращаемых запросов записей.

Создав запрос на выборку, запустите его, чтобы посмотреть результаты. Чтобы выполнить запрос на выборку, откройте его в режиме таблицы. Сохранив запрос, вы сможете использовать его позже (например, в качестве источника данных для формы, отчета или другого запроса).

Создание запроса на выборку с помощью мастера запросов

Мастер позволяет автоматически создать запрос на выборку. При использовании мастера вы не полностью контролируете все детали процесса, однако таким способом запрос обычно создается быстрее. Кроме того, мастер иногда обнаруживает в запросе простые ошибки и предлагает выбрать другое действие.

Подготовка

Если вы используете поля из источников данных, которые не связаны между собой, мастер запросов предлагает создать между ними отношения. Он откроет окно отношений , однако если вы внесете какие-то изменения, то вам потребуется перезапустить мастер. Таким образом, перед запуском мастера имеет смысл сразу создать все отношения, которые потребуются вашему запросу.

Дополнительную информацию о создании отношений между таблицами можно найти в статье Руководство по связям между таблицами .

Использование мастера запросов

    На вкладке Создание в группе Запросы нажмите кнопку Мастер запросов .

    В диалоговом окне Новый запрос выберите пункт Простой запрос и нажмите кнопку ОК .

    Теперь добавьте поля. Вы можете добавить до 255 полей из 32 таблиц или запросов.

    Для каждого поля выполните два указанных ниже действия.


  1. Если вы не добавили ни одного числового поля (поля, содержащего числовые данные), перейдите к действию 9. При добавлении числового поля вам потребуется выбрать, что именно вернет запрос: подробности или итоговые данные.

    Выполните одно из указанных ниже действий.


  2. В диалоговом окне Итоги укажите необходимые поля и типы итоговых данных. В списке будут доступны только числовые поля.

    Для каждого числового поля выберите одну из перечисленных ниже функций.

    1. Sum - запрос вернет сумму всех значений, указанных в поле.

      Avg - запрос вернет среднее значение поля.

      Min - запрос вернет минимальное значение, указанное в поле.

      Max - запрос вернет максимальное значение, указанное в поле.


  3. Если вы хотите, чтобы в результатах запроса отобразилось число записей в источнике данных, установите соответствующий флажок Подсчет числа записей в (название источника данных) .

    Нажмите ОК , чтобы закрыть диалоговое окно Итоги .

    Если вы не добавили в запрос ни одного поля даты и времени, перейдите к действию 9. Если вы добавили в запрос поля даты и времени, мастер запросов предложит вам выбрать способ группировки значений даты. Предположим, вы добавили в запрос числовое поле ("Цена") и поле даты и времени ("Время_транзакции"), а затем в диалоговом окне Итоги указали, что хотите отобразить среднее значение по числовому полю "Цена". Поскольку вы добавили поле даты и времени, вы можете подсчитать итоговые величины для каждого уникального значения даты и времени, например для каждого месяца, квартала или года.


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

    На последней странице мастера задайте название запроса, укажите, хотите ли вы открыть или изменить его, и нажмите кнопку Готово .

    Если вы решили открыть запрос, он отобразит выбранные данные в режиме таблицы. Если вы решили изменить запрос, он откроется в режиме конструктора.

Создание запроса в режиме конструктора

В режиме конструктора можно вручную создать запрос на выборку. В этом режиме вы полнее контролируете процесс создания запроса, однако здесь легче допустить ошибку и необходимо больше времени, чем в мастере.

Создание запроса

Действие 1. Добавьте источники данных

В режиме конструктора источники данных и поля добавляются на разных этапах, так как для добавления источников используется диалоговое окно Добавление таблицы . Однако вы всегда можете добавить дополнительные источники позже.

Автоматическое соединение

Если между добавляемыми источниками данных уже заданы отношения, они автоматически добавляются в запрос в качестве соединений. Соединения определяют, как именно следует объединять данные из связанных источников. Access также автоматически создает соединение между двумя таблицами, если они содержат поля с совместимыми типами данных и одно из них - первичный ключ.

Вы можете настроить соединения, добавленные приложением Access. Access выбирает тип создаваемого соединения на основе отношения, которое ему соответствует. Если Access создает соединение, но для него не определено отношение, Access добавляет внутреннее соединение.

Повторное использование одного источника данных

В некоторых случаях вы можете присоединиться к двум копиям одной и той же таблицы или запроса, которые называются самосоединение, и будут объединять записи из той же таблицы, если в Объединенных полях есть совпадающие значения. Например, предположим, что у вас есть таблица Employees, в которой поле "подчиняется" для записи каждого сотрудника отображает его идентификатор своего руководителя вместо имени. Вы можете использовать самосоединение для отображения имени руководителя в записи каждого сотрудника.

При добавлении источника данных во второй раз Access присвоит имени второго экземпляра окончание "_1". Например, при повторном добавлении таблицы "Сотрудники" ее второй экземпляр будет называться "Сотрудники_1".

Действие 2. Соедините связанные источники данных

Если источники данных, добавленные в запрос, уже имеют отношения, Access автоматически создает внутреннее соединение для каждой связи. Если используется целостность данных, Access также отображает "1" над линией соединения, чтобы показать, какая таблица находится на стороне "один" элемента отношение "один-ко-многим" и символ бесконечности (), чтобы показать, какая таблица находится на стороне "многие".

Если вы добавили в запрос другие запросы и не создали между ними отношения, Access не создает автоматических соединений ни между ними, ни между запросами и таблицами, которые не связаны между собой. Если Access не создает соединения при добавлении источников данных, как правило, их следует создать вручную. Источники данных, которые не соединены с другими источниками, могут привести к проблемам в результатах запроса.

Кроме того, можно сменить тип соединения с внутреннего на внешнее соединение, чтобы запрос включал больше записей.

Добавление соединения

Изменение соединения

После создания соединений можно добавить выводимые поля: они будут содержать данные, которые должны отображаться в результатах.

Действие 3. Добавьте выводимые поля

Вы можете легко добавить поле из любого источника данных, добавленного в действии 1.

    Для этого перетащите поле из источника в верхней области окна конструктора запросов вниз в строку Поле бланка запроса (в нижней части окна конструктора).

    При добавлении поля таким образом Access автоматически заполняет строку Таблица в таблице конструктора в соответствии с источником данных поля.

    Совет: Чтобы быстро добавить все поля в строку "Поле" бланка запроса, дважды щелкните имя таблицы или запроса в верхней области, чтобы выделить все поля в нем, а затем перетащите их все сразу вниз на бланк.

Использование выражения в качестве выводимого поля

Вы можете использовать выражение в качестве выводимого поля для вычислений или создания результатов запроса с помощью функции. В выражениях могут использоваться данные из любых источников запроса, а также функции, например Format или InStr, константы и арифметические операторы.

Действие 4. Укажите условия

Это необязательно.

С помощью условий можно ограничить количество записей, которые возвращает запрос, выбирая только те из них, значения полей в которых отвечают заданным критериям.

Определение условий для выводимого поля

Условия для нескольких полей

Условия можно задать для нескольких полей. В этом случае для включения записи в результаты должны выполняться все условия в соответствующей строке Условия отбора либо Или .

Настройка условий на основе поля, которое не включается в вывод

Вы можете добавить в запрос поле, но не включать его значения в выводимые результаты. Это позволяет использовать содержимое поля для ограничения результатов, но при этом не отображать его.

    Добавьте поле в таблицу запроса.

    Снимите для него флажок в строке Показывать .

    Задайте условия, как для выводимого поля.

Действие 5. Рассчитайте итоговые значения

Этот этап является необязательным.

Вы также можете вычислить итоговые значения для числовых данных. Например, может потребоваться просмотреть среднюю цену или общие продажи.

Для расчета итоговых значений в запросе используется строка Итого . По умолчанию строка Итого не отображается в режиме конструктора.

Чтобы увидеть результаты запроса, на вкладке "Конструктор" нажмите кнопку Выполнить . Access отобразит результаты запроса в режиме таблицы.

Чтобы вернуться в режим конструктора и внести в запрос изменения, щелкните Главная > Вид > Конструктор .

Настраивайте поля, выражения или условия и повторно выполняйте запрос, пока он не будет возвращать нужные данные.

Создание запроса на выборку в веб-приложении Access

Чтобы сделать результаты запроса доступными в браузере, нужно добавить представление запроса на экране выбора таблиц. Чтобы добавить новое представление в заголовок на экране выбора таблиц, выполните указанные ниже действия.


Предположим, что пользователю необходимо видеть все документы в информационной базе одним списком. Несмотря на протесты разработчика из-за отрицательного влияния на производительность этой разработки, под давлением руководства было решено сделать такой отчет.

Чтож, раз задача требует реализации - давайте выполним ее!

Как это сделать

Сразу оговоримся, что в отчете будут выводиться два поля: "Ссылка" и "Проведен". Эти стандартные реквизиты есть у всех документов. Запрос для получения всех документом мы будем формировать программным образом, обходя коллекцию метаданных "Метаданные.Документы". Для каждого элемента коллекции будем создавать запрос к его таблице по реквизитам "Ссылка" и "Проведен", а дальше объединять его результат с результатом аналогичного запроса к другому документу.

" ВЫБРАТЬ | Док. Ссылка КАК Ссылка, | Док. Проведен КАК Проведен |ИЗ | Документ. ABCКлассификацияПокупателей КАК Док . Ссылка КАК Ссылка, | Док. Проведен КАК Проведен |ИЗ | Документ. АвансовыйОтчет КАК Док |ОБЪЕДИНИТЬ ВСЕ |ВЫБРАТЬ | Док. Ссылка КАК Ссылка, | Док. Проведен КАК Проведен |ИЗ | Документ. АккредитивПереданный КАК Док |ОБЪЕДИНИТЬ ВСЕ | . . . "

В случае, когда нужно выводить вообще все реквизиты, доступные во всех документах, то программное формирование запроса будет выглядеть намного сложнее. Чтобы не усложнять пример мы будем выводить только названные стандартные реквизиты.

При компоновке результата отчета будет необходимо поместить сформированный запрос в основной набор данных. Остальные действия при программном формировании отчета будут стандартными.

Реализация

Теперь по порядку. Создав внешний отчет, добавим в него схему компоновки данных. В качестве запроса в наборе данных добавим следующий запрос:

Вообще, в нашем случае не важно, какой запрос будет для набора данных. Его мы добавили только для того, чтобы удобно было настраивать структуру отчета в конструкторе, поскольку иначе бы поля на закладке "Настройка" отсутствовали. Конечная настройка структуры отчета следующая:

Теперь в обработчике события "ПриКомпоновкеРезультата" отключим стандартную обработку и выполним формирование отчета программно. Программный код формирования отчета на СКД представлен на следующем листинге:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь ; // отключаем стандартный вывод отчета - будем выводить программно Настройки = КомпоновщикНастроек. Настройки; // Получаем настройки отчета ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; // Создаем данные расшифровки КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; // Создаем компоновщик макета // Инициализируем макет компоновки используя схему компоновки данных // и созданные ранее настройки и данные расшифровки " ) ; МакетКомпоновки = КомпоновщикМакета. Выполнить (СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки) ; // Скомпонуем результат ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки. Инициализировать(МакетКомпоновки, , ДанныеРасшифровки) ; ДокументРезультат. Очистить() ; // Выводим результат в табличный документ ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода. УстановитьДокумент(ДокументРезультат) ; ПроцессорВывода. Вывести(ПроцессорКомпоновки) ; КонецПроцедуры

Все стандартно. Теперь главное. Текст запроса для набора данных мы должны заменить до компоновки макета. Как было сказано выше, программный код запроса будет формироваться при обходе коллекции метаданных документа. На следующем листинге представлен программный код для динамического формирования текста запроса:

// .................................................................. СхемаКомпоновкиДанных = ПолучитьМакет(" ОсновнаяСхемаКомпоновкиДанных " ) ; // Получаем схему компоновки данных СхемаКомпоновкиДанных. НаборыДанных. НаборДанных1. Запрос = " " ; // Очищаем запрос в наборе данных ДокументыКонфигурации = Метаданные. Документы; // Получаем коллекцию метаданных документов КоличествоДокументов = ДокументыКонфигурации. Количество() ; // Определяем общее количество документов в конфигурации Сч = 1 ; ТекстЗапроса = " " ; Для Каждого Док Из ДокументыКонфигурации Цикл ТекстЗапроса = ТекстЗапроса + // Для каждого документа формируем текст запроса к его таблице " ВЫБРАТЬ | Док. Ссылка КАК Ссылка, | Док. Проведен КАК Проведен |ИЗ | Документ. " + Док. Имя+ " КАК Док " ; // В текст запроса нам необходимо лишь подставить имя таблицы документа в дереве метаданных Если Сч КоличествоДокументов Тогда // Если документ не последний в коллекции - добавляем инструкцию "ОБЪЕДИНИТЬ ВСЕ" для ТекстЗапроса = ТекстЗапроса + // объединения результатов запросов по документам в единый список " |ОБЪЕДИНИТЬ ВСЕ | " ; КонецЕсли ; Сч = Сч + 1 ; КонецЦикла ; СхемаКомпоновкиДанных. НаборыДанных. НаборДанных1. Запрос = ТекстЗапроса; // Помещаем новый текст запроса в набор данных МакетКомпоновки = КомпоновщикМакета. Выполнить (СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки) ; // Компонуем макет // ....................................................................

Отчет готов к тестированию.

Что в итоге?

Запустим отчет в режиме 1С:Предприятие. Отчет успешно выполнится и мы увидим список всех документов в информационной базе.

При всех проделанных действия отчет имеет все стандартные возможности СКД: расшифровка, настройка структуры отчета, отборы, условное оформление и прочее.

Запрос к таблицам всех документом не самое оптимальное решение для просмотра полного списка документов в информационной базе, поскольку формирует относительно "тяжелый" запрос СУБД. Наиболее правильно было бы использовать объект конфигурации "Журнал документов", но это уже выходит за рамки статьи.

Последние материалы раздела:

Что делать, если завис Мейзу м3 ноте и подобные смартфоны и планшеты на андроиде
Что делать, если завис Мейзу м3 ноте и подобные смартфоны и планшеты на андроиде

Нагревание смартфона Meizu M3 Note до 45-50°C во время зарядки аккумулятора или при длительной работе ресурсоемкого софта является обычным...

Решение проблемы с перегревом Meizu M5 Причины сильного нагревания смартфонов Meizu
Решение проблемы с перегревом Meizu M5 Причины сильного нагревания смартфонов Meizu

Meizu m3 note завис , нагревается и вы не знаете что с ним делать? В этой статье вы узнаете, как сделать принудительную перезагрузку зависшего...

Огромная база данных торрентов, доступных для скачивания
Огромная база данных торрентов, доступных для скачивания

Каталог торрентов на сайте Torrent-Drive.Ru включает в себя все направления, начиная от фильмов и игр для ПК и приставок, заканчивая музыкой,...