4 / 4 / 1
Регистрация: 15.02.2014
Сообщений: 189
|
|
1 | |
База данных "Библиотека"24.02.2017, 23:16. Показов 7133. Ответов 67
Метки нет (Все метки)
Добрый день!
Опять обращаюсь к Вам форумчане за помощью. Продолжаю работать над своей БД-создал необходимые формы и отчеты. Но форму Фильтр3 пока доработать не получается. Не работают кнопки "Выдано" и "Возвращено",которые отбираются по дате возврата книги. Кнопка "Выдано"должна отбирать все даты с открытой датой возврата,а кнопка "Возвращено" -с закрытой датой возврата. И второе-как можно при выборе параметров на форме открывать четыре разных отчета-если выбор по автору-то отчет открывается с группировкой возврат по автору.,если выбор почитателю-то отчет открывается с группировкой по читателю и так же по названию книги. В БД на главной форме -Форма Фильтр3 и отчеты рядом.
0
|
24.02.2017, 23:16 | |
Ответы с готовыми решениями:
67
База данных «Библиотека» База данных - Библиотека база данных библиотека База данных - Библиотека База данных БИБЛИОТЕКА |
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|
25.02.2017, 02:12 | 2 |
С выбором отчета не понял. Нужно разные отчеты вызывать? А если выбор по автору, читателю и книге одновременно? Уточняйте.
Форму Фильтр3 переделал. Вместо макроса на кнопке Применить фильтр работает процедура в коде ВБА. Также изменил 3 поля со списком, вставил первым столбцом код. Это удобнее. Чтобы форма не моргала, уменьшил границу группы (моргание ее происки) и сделал ее невидимой. И добавил прямоугольник вместо границы группы. Теперь моргает значительно меньше. Добавил поле КодЧитателя в источник отчета ВозвратыКниг. Иначе сложнее фильтровать по нему.
1
|
4 / 4 / 1
Регистрация: 15.02.2014
Сообщений: 189
|
|
25.02.2017, 09:37 [ТС] | 3 |
Спасибо Вам,mobil, за помощь.Вы наверное поняли,что моя БД не совершенство,я сам учусь создавать по разным источникам -читаю литературу,смотрю разные примеры и что то еще не до понимаю,особенно не хватает знаний в Visual basic. Вот и с отчетами-мне хочется понять как можно вызывать разные отчеты,если выбираю разные параметры на форме. По сути согласен-отчет один и тот же-только задаются разные группировки. Подобных примеров не нашел.Если покажете как это делается-буду благодарен Вам.
0
|
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
25.02.2017, 12:12 | 4 | |||||
Сообщение было отмечено kos-625 как решение
Решение
kos-625, Вы не ответили на вопрос какая группировка должна быть если выбрано несколько параметров: автор, читатель, книга, раздел в любом наборе. Если скажем укажете старшинство параметров, то в принципе несложно. Например по убывающей: Читатель, Автор, Книга, Раздел. Тогда процедура может быть такая
0
|
4 / 4 / 1
Регистрация: 15.02.2014
Сообщений: 189
|
|
25.02.2017, 20:59 [ТС] | 5 |
Спасибо! Я "проэксперементирую" свою форму с выбором отчетов-может тогда точнее определюсь как лучше сделать просмотр своих отчетов.
А что я сделал не так на форме Фильтр3,у меня появляется звездочка в окошке Раздел,после того как нажимаю на кнопку Очистить? Добавлено через 2 часа 1 минуту Спасибо,все работает как хотелось мне.Только еще как дописать в коде,если данные не выбрались и отчет пустой не "выскакивал". Я прописал сообщение,что отчет не будет создан. Сообщение появляется-но пустой отчет пытался через этот же макрос прописать-выдает ошибку. Добавлено через 6 часов 25 минут Ошибку на форме Фильтр3 нашел- в окошке "Раздел"появлялась звездочка-ошибка была в макросе. А вот чтобы пустой отчет не появлялся пока не получается,если нет данных при выборе параметров.
0
|
4 / 4 / 1
Регистрация: 15.02.2014
Сообщений: 189
|
|
28.02.2017, 18:53 [ТС] | 6 |
Можно ли дописать вышеуказанную процедуру-чтобы не появлялись пустые отчеты,если данные отчета не выбрались при определенных параметрах и появлялось сообщение,что отчет не буде создан.
0
|
Модератор
6012 / 2840 / 693
Регистрация: 12.06.2016
Сообщений: 7,633
|
|||||||||||
28.02.2017, 20:35 | 7 | ||||||||||
В самом отчете создайте процедуру обработки события Отсутствие данных.
0
|
4 / 4 / 1
Регистрация: 15.02.2014
Сообщений: 189
|
|
28.02.2017, 20:59 [ТС] | 8 |
Вставляю этот код в процедуру обработки Отсутствие данных -выдает ошибку.
0
|
Модератор
6012 / 2840 / 693
Регистрация: 12.06.2016
Сообщений: 7,633
|
||||||
28.02.2017, 22:55 | 9 | |||||
Какой именно "этот код"?
И какую ошибку выдает? И "кто" выдает - компилятор или период выполнения? Покажите свою процедуру обработки события Отсутствие данных. Поясняю: Вторая часть относится к процедуре Private Sub Кнопка33_Click(). Команда
0
|
4 / 4 / 1
Регистрация: 15.02.2014
Сообщений: 189
|
|
28.02.2017, 23:09 [ТС] | 10 |
Вот моя БД-Форма Фильтр3
0
|
4 / 4 / 1
Регистрация: 15.02.2014
Сообщений: 189
|
|
28.02.2017, 23:30 [ТС] | 11 |
Скриншот ошибки:
0
|
Модератор
6012 / 2840 / 693
Регистрация: 12.06.2016
Сообщений: 7,633
|
|
28.02.2017, 23:54 | 12 |
БД мне не нужна.
Прочтите внимательно мое предыдущее сообщение. Еще раз повторить? Ну, повторю. Добавьте On Error resume next перед уже имеющейся в процедуре нажатия кнопки командой открытия отчета. А On Error GoTo 0 поставьте после этой команды открытия отчета. А Вы что делаете? Лепите в первое попавшееся место.
1
|
4 / 4 / 1
Регистрация: 15.02.2014
Сообщений: 189
|
|
01.03.2017, 00:28 [ТС] | 13 |
Спасибо за помощь!
В программных кодах не разбираюсь-методом "тыка".Пока ничего не получилось.
0
|
Модератор
6012 / 2840 / 693
Регистрация: 12.06.2016
Сообщений: 7,633
|
|
01.03.2017, 00:49 | 14 |
Попробую еще раз.
Найдите процедуру Private Sub Кнопка33_Click(). В этой процедуре найдите строку DoCmd.OpenReport rpt, acViewReport, , s. Последняя строка. Теперь перед ней (над ней) поставьте строчку On Error resume next. Потом ниже строки с DoCmd.OpenReport rpt, acViewReport, , s поставьте строчку On Error GoTo 0. Теперь уже строка On Error GoTo 0 станет последней строкой процедуры. После нее будет только End Sub.
1
|
4 / 4 / 1
Регистрация: 15.02.2014
Сообщений: 189
|
|
01.03.2017, 20:41 [ТС] | 15 |
Ок. Все получилось! Спасибо!
Добавлено через 19 часов 41 минуту Подскажите можно ли в форме Фильр 3 в параметрах которые выбираются-название книги,автор,читатель и раздел-добавить в вываливающийся список выборку "все",т.е все авторы,все читатели и т.д.
0
|
Модератор
6012 / 2840 / 693
Регистрация: 12.06.2016
Сообщений: 7,633
|
|||||||||||
01.03.2017, 20:54 | 16 | ||||||||||
Можно, конечно.
Как-то так:
Если там справочник названий с кодами, то так:
0
|
4 / 4 / 1
Регистрация: 15.02.2014
Сообщений: 189
|
|
01.03.2017, 21:36 [ТС] | 17 |
А что не так? Справочник вываливается пустой.
SELECT Top 1 0, " Все" FROM Авторы UNION ALL SELECT КодАвтора, ФамилияИмяОтчество FROM Авторы ORDER BY ФамилияИмяОтчество; появляется ошибка- на скриншоте.
0
|
Модератор
6012 / 2840 / 693
Регистрация: 12.06.2016
Сообщений: 7,633
|
||||||
01.03.2017, 21:45 | 18 | |||||
Ага, прошу прощения, небольшая доработка:
0
|
4 / 4 / 1
Регистрация: 15.02.2014
Сообщений: 189
|
|
01.03.2017, 21:50 [ТС] | 19 |
Появляется ошибка-
0
|
Модератор
6012 / 2840 / 693
Регистрация: 12.06.2016
Сообщений: 7,633
|
|
01.03.2017, 21:55 | 20 |
А какой тип имеют КодАвтора и ФамилияИмяОтчество?
0
|
01.03.2017, 21:55 | |
01.03.2017, 21:55 | |
Помогаю со студенческими работами здесь
20
База данных Библиотека База данных - Библиотека сохранение База данных библиотека База Данных Библиотека в Access База данных электронная библиотека Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |