![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 193
|
![]()
Всем здравствуйте.
![]() Помогите пожалуйста с перекрестным запросом. Я делаю простой перекрестный запрос: графы-наименование услуг, строки-даты оплаты по услугам, значения-суммы оплаты. Собственно абсолютно ничего сложного, НО… Мне нужно что бы выводились данные не по всем датам, а только за выбранный период. Период выбирается на форме в Поле 4 и Поле 6. В Запросе условие дат ставлю через построитель: Between [Forms]![ФОРМА]![Поле4] And [Forms]![ФОРМА]![Поле6]. Сам запрос планировала разместить на форме. При запросе на выборку все получается, но при перекрестном выдает ошибку: [Поле4] Не распознается ядром базы данных Microcoft Jet как допустимое имя поля или выражение. Я пробовала сначала делать запрос на выборку, а на основе его уже перекрестный запрос результат тот же. Пробовала в перекрестном запросе добавлять колонку с датой, и там указав не группировка, а условие - указывать данное условие результат, тот же. Как же сделать такой перекрестный запрос с условием дат из полей формы? ![]() Спасибо. |
![]() |
![]() |
![]() |
#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_()
Окупант, руки прочь от Украины!!! Слава Героям!
|
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 193
|
![]()
Myhaylo Спасибо большое за помощь
![]() Цитата:
Код:
Спасибо. Последний раз редактировалось АННА-ЕАО; 14.06.2013 в 17:14. |
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 19.07.2012
Сообщений: 520
|
![]()
1. Предположим, что вывод данных перекрёстного запроса осуществляется нажатием какой-то кнопки. Вот в подпрограмме обработки этого события и нужно заполнить значения глобальных переменных.
2. В конструкторе, вместо Вашего условия Between [Forms]![ФОРМА]![Поле4] And [Forms]![ФОРМА]![Поле6] запишите это: Between data1_() and data2_() 3. В Вашем случае к вопросу желательно всегда прикладывать базу (предварительно сжатую и заархивированную).
Окупант, руки прочь от Украины!!! Слава Героям!
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 193
|
![]()
Myhaylo Ещё раз спасибо большое за помощь! Благодаря Вашим пояснениям всё получилось!
![]() Вот только... Разместив данный запрос на форме если за выбранный период не было операций по группе (т.е. нет данных по графе №1), то в ней выводится не 0,00 , а #Имя? . Когда в вычисляемом поле на форме появляется #Ошибка? я пишу так: Код:
но тут так не проходит, в этом случае в данной графе ВСЕГДА отображается 0. Будьте добры, подскажите, как от #Имя? избавиться? Спасибо. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 22.05.2012
Сообщений: 136
|
![]() |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 193
|
![]()
Прикладываю базу, в сокращенном виде. В этой форме "Ф_ОПЛАТА_ПО_ДАТАМ_ПО _ГРУППАМ" меняйте даты и результат перекрестного запроса отображается так же в этой форме.
Если за выбранный период не было операций по какой либо из групп, то в ней выводится не 0,00 , а #Имя. ![]() Может кто-то подскажет решение? Ну или м.б. как то можно скрывать столбцы с #Имя? Спасибо. |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 19.07.2012
Сообщений: 520
|
![]()
Например, так...
Окупант, руки прочь от Украины!!! Слава Героям!
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 193
|
![]() |
![]() |
![]() |
![]() |
#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 |