|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.06.2013, 10:40 | #1 |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 193
|
Перекрестный запрос с условием дат из полей формы
Всем здравствуйте.
Помогите пожалуйста с перекрестным запросом. Я делаю простой перекрестный запрос: графы-наименование услуг, строки-даты оплаты по услугам, значения-суммы оплаты. Собственно абсолютно ничего сложного, НО… Мне нужно что бы выводились данные не по всем датам, а только за выбранный период. Период выбирается на форме в Поле 4 и Поле 6. В Запросе условие дат ставлю через построитель: Between [Forms]![ФОРМА]![Поле4] And [Forms]![ФОРМА]![Поле6]. Сам запрос планировала разместить на форме. При запросе на выборку все получается, но при перекрестном выдает ошибку: [Поле4] Не распознается ядром базы данных Microcoft Jet как допустимое имя поля или выражение. Я пробовала сначала делать запрос на выборку, а на основе его уже перекрестный запрос результат тот же. Пробовала в перекрестном запросе добавлять колонку с датой, и там указав не группировка, а условие - указывать данное условие результат, тот же. Как же сделать такой перекрестный запрос с условием дат из полей формы? Спасибо. |
14.06.2013, 15:02 | #2 |
Форумчанин
Регистрация: 19.07.2012
Сообщений: 520
|
1. На закладке "Модули" окна "база данных" создайте модуль с любым именем и поместите в него текст:
Public data1_modul As Date Public data2_modul As Date Public Function data1_() As Date data1_=data1_modul End Function Public Function data2_() As Date data2_=data2_modul End Function 2. В форме заполните значения глобальных переменных data1_modul и data2_modul, например, так: data1_modul=ПолеФормы_ДатаС data2_modul=ПолеФормы_ДатаПо 3. Тогда условие WHERE запроса будет выглядеть так: WHERE Таблица.Дата Between data1_() and data2_()
Окупант, руки прочь от Украины!!! Слава Героям!
|
14.06.2013, 17:10 | #3 | |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 193
|
Myhaylo Спасибо большое за помощь , но мне как для начинающей и мало ещё знающей кое-что не совсем понятно:
Цитата:
Код:
Спасибо. Последний раз редактировалось АННА-ЕАО; 14.06.2013 в 17:14. |
|
14.06.2013, 18:03 | #4 |
Форумчанин
Регистрация: 19.07.2012
Сообщений: 520
|
1. Предположим, что вывод данных перекрёстного запроса осуществляется нажатием какой-то кнопки. Вот в подпрограмме обработки этого события и нужно заполнить значения глобальных переменных.
2. В конструкторе, вместо Вашего условия Between [Forms]![ФОРМА]![Поле4] And [Forms]![ФОРМА]![Поле6] запишите это: Between data1_() and data2_() 3. В Вашем случае к вопросу желательно всегда прикладывать базу (предварительно сжатую и заархивированную).
Окупант, руки прочь от Украины!!! Слава Героям!
|
14.06.2013, 22:02 | #5 |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 193
|
Myhaylo Ещё раз спасибо большое за помощь! Благодаря Вашим пояснениям всё получилось!
Вот только... Разместив данный запрос на форме если за выбранный период не было операций по группе (т.е. нет данных по графе №1), то в ней выводится не 0,00 , а #Имя? . Когда в вычисляемом поле на форме появляется #Ошибка? я пишу так: Код:
но тут так не проходит, в этом случае в данной графе ВСЕГДА отображается 0. Будьте добры, подскажите, как от #Имя? избавиться? Спасибо. |
17.06.2013, 03:15 | #6 |
Форумчанин
Регистрация: 22.05.2012
Сообщений: 136
|
|
17.06.2013, 09:15 | #7 |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 193
|
Прикладываю базу, в сокращенном виде. В этой форме "Ф_ОПЛАТА_ПО_ДАТАМ_ПО _ГРУППАМ" меняйте даты и результат перекрестного запроса отображается так же в этой форме.
Если за выбранный период не было операций по какой либо из групп, то в ней выводится не 0,00 , а #Имя. Может кто-то подскажет решение? Ну или м.б. как то можно скрывать столбцы с #Имя? Спасибо. |
17.06.2013, 19:43 | #8 |
Форумчанин
Регистрация: 19.07.2012
Сообщений: 520
|
Например, так...
Окупант, руки прочь от Украины!!! Слава Героям!
|
17.06.2013, 21:53 | #9 |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 193
|
|
17.06.2013, 22:59 | #10 |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 193
|
И все же, наверно, не получится применять данный запрос на форме как в примере, ведь группы услуг могут добавляться, а запрос без внесения изменений на форме и в коде автоматически меняться не будет.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перекрестный запрос с условием | sasha-infocom | Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) | 0 | 10.04.2011 08:49 |
Перекрестный запрос с условием | sasha-infocom | ASP.NET | 0 | 10.04.2011 08:48 |
Перекрестный запрос | analyst | Microsoft Office Access | 3 | 17.02.2010 18:24 |
Перекрестный запрос | zander | Microsoft Office Access | 2 | 13.01.2010 15:25 |