Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 42

Работа с датами, формами и статистикой

02.04.2014, 07:58. Показов 3467. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Товарищи форумчане, привет!
Я работаю над своей первой серьезной базой данных одновременно изучая Access.

У меня возникла проблема и нужда в вашей помощи. Буду благодарен тем, кто откликнется.

Суть проблемы.
{Всё, о чём пойдет речь есть в прикреплённой БД}

В форме "Меню" есть кнопка "Учёт финансов Россия". Нажимаем, видим кнопочку "Просмотреть таблицу товаров". Нажимаем и появляется форма для выбора ограничения по дате. Далее при нажатии кнопки "Показать" создаётся необходимый запрос.

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

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


P.S. Такая форма реализована мной при нажатии на кнопку "Статистика" в главном меню. Но там другой способ выбора даты, который сейчас мне не подходит.
Вложения
Тип файла: rar База данных.rar (770.5 Кб, 31 просмотров)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.04.2014, 07:58
Ответы с готовыми решениями:

Работа со статистикой
извиняюсь, если повторил чью-то тему имеется 1 столбец с более 100 тыс. строками, в нем хаотично разбросаны 50 чисел (от 1 до 50) ...

Работа с датами
Привет друзья! Пару лет назад (только начинал осваивать ACCESS) в одной базе нужно было высчитывать возраст человека на текущую дату. ...

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

26
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 42
03.04.2014, 06:44  [ТС]
Кто-то знает как решить проблему?
0
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,083
03.04.2014, 08:36
Цитата Сообщение от ParoplaW Посмотреть сообщение
Мне нужно сделать ещё одну кнопочку рядом с "Просмотреть таблицу товаров", которую можно назвать "Текущая Статистика"
А сразу это нельзя было самому сделать?
Цитата Сообщение от ParoplaW Посмотреть сообщение
как мне сделать так, чтобы из автоматически создавающегося запроса подсчитывались данные уже в созданной форме.
В какой форме из трех? Какие данные? Данных в ваших формах нет. Может речь про запрос?
0
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 42
04.04.2014, 10:34  [ТС]
1.Кнопка не проблема. Это я, естественно, могу сделать. Просто писал, чтоб понятнее было.

2. Можно и в запросе подсчитывать, а можно и в форме подсчитывать. Для меня значения не имеет.
Мне просто нужно, чтобы после выбора даты открывалась форма, где было бы два поля с результатами подсчёта.

Я вот не понимаю, как это сделать. Сейчас у меня после выбора дат открывается просто запрос. А мне нужно, чтобы открывалась форма с подсчётами.

Как это реализовать, подскажите, пожалуйста?
0
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,083
04.04.2014, 12:21
Создайте табличную форму с источником этого запроса и открывайте ее.
0
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 42
05.04.2014, 08:18  [ТС]
Как мне поставить в источнике этот запрос, если запрос формируется каждый раз заново?
0
59 / 8 / 1
Регистрация: 15.12.2012
Сообщений: 53
05.04.2014, 11:24
Измените свойство RecordSource формы,подставив в ее значение запрос с изменяемыми переменными в обработчике события формы или кнопки Просмотреть.Если не получится выложите базу и я отвечу.
0
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,083
05.04.2014, 12:38
RecordSource*— возможность определить источник данных для формы или отчета.
Visual Basic
1
2
3
Private Sub Form_Load()
    Me.RecordSource = "SELECT FROM table WHERE field1 = '" & Forms("Главная").товар & "'"
End Sub
0
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 42
06.04.2014, 10:49  [ТС]
Не понял, какой запрос вписать в источник строки.
Вот эта же база данных со всеми формами. Осталось только настроить источник данных.

Добавлены:
1. Кнопка "Текущий доход".
2. Формы, которые начинаются на "ТК..."

На сколько я понял, они должны как-то взаимодействовать как-то с запросом "Текущие финансы_Россия Запрос".

Посмотрите, пожалуйста, прикреплённую БД.
Вложения
Тип файла: rar База данных2.rar (763.8 Кб, 14 просмотров)
0
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 42
07.04.2014, 07:36  [ТС]
Так как мне соединить форму и запрос?

Добавлено через 11 минут
Rube, не пойму, что Вы написали.(
0
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,083
07.04.2014, 13:02
Лучший ответ Сообщение было отмечено ParoplaW как решение

Решение

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

Добавлено через 1 час 54 минуты
Откуда в поле "Рос_Затраты_сумм" берутся данные "Наши затраты всего за заказ"? В источнике такого поля нет, а проверять все формы у меня нет времени. Из-за этих полей и был Error везде.
Вобщем я удалил в форме "ТК Распределение ... Россия" 3 поля для надписей "Расходы на..." и все считается.
Еще убрал источник и на Load формы повесил код:
Visual Basic
1
2
3
4
5
6
Private Sub Form_Load()
    d1 = Format(Forms("Все заказы").fldStart, "mm\/dd\/yyyy")
    d2 = Format(Forms("Все заказы").fldFinis, "mm\/dd\/yyyy")
    Me.RecordSource = "SELECT * FROM [Текущие финансы_Россия]" & _
        " WHERE Дата BETWEEN #" & d1 & "# AND #" & d2 & "#"
End Sub
хотя может и без этого будет работать, попробуйте.
1
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 42
08.04.2014, 07:01  [ТС]
Спасибо, сейчас отойду и немного позже попробую сделать так как Вы написали. Правда не слишком понял, где этот Load формы?
0
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,083
08.04.2014, 07:27
Цитата Сообщение от ParoplaW Посмотреть сообщение
где этот Load формы?
Это уже VBA. Те же макросы, только без GUI (графической оболочки).
Вместо макроса выберите Программа (в событии Загрузка формы).
0
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 42
09.04.2014, 08:22  [ТС]
Rube, спасибо. Удалил поля те, которых нет в источнике и заработало! Сам не знаю, что на меня нашло, когда вводил названия полей, которых нет в источнике... Как-будто не я был))

Всё считается!

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

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

Спасибо за помощь!

Добавлено через 14 минут
Ещё почему-то возникла проблема: при выборе даты вручную марта, апрель выбирает. А дальше, например с 1 февраля по 28 февраля - не выбирает. Ну, в смысле форма открывается, но ничего не считает. Ни ошибки нет, ни цифр)))
0
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,083
09.04.2014, 10:56
А в таблице то такие даты есть?
0
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 42
11.04.2014, 07:43  [ТС]
Ну да, в базе основной есть)))
0
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,083
11.04.2014, 09:01
Давай сюда что ты там сделал.
0
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 42
14.04.2014, 09:01  [ТС]
А, всё работает. Там все же не было информации за февраль и ранее. Прошу прощения!

Одна проблема осталась.

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

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


Базу с готовыми таблицами и формами прикрепляю. (Форма находится в кнопке "Текущий доход").

Жду помощи, действительно нужно!
Спасибо заранее!
Вложения
Тип файла: rar База магазина 7.2.rar (798.0 Кб, 9 просмотров)
0
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,083
14.04.2014, 11:14
Цитата Сообщение от ParoplaW Посмотреть сообщение
Как сделать так, чтобы расходы на зарплату, к примеру, считались отдельно
Легко, в поле Рос_Затраты_сумм вставьте в Данные:
SQL
1
=DSum("[Сумма расхода]";"[Текущие финансы_Россия Запрос]";"[Статья расхода]='Зарплата'")
Не забудьте прописать в статьи расхода значения "Зарплата".
1
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 42
18.04.2014, 08:19  [ТС]
О! Спасибо, Rube! Это лучший вариант!
Теперь буду знать!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.04.2014, 08:19
Помогаю со студенческими работами здесь

Работа с датами
Ребята, добрый вечер!)) Помогите пожалуйста с таким вот заданием! Перечитала множество форумов (естественно ни чего не поняв..)), но...

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

Работа с датами
Добрый день! В своей процедуре пытаюсь получить от сегодняшней даты: вчерашнюю дату дату в первый день текущей недели дату в...

Работа с датами
В Постгре можно отнимать от даты произвольные интервалы select current_date - interval '3 day'Мне надо чтобы вместо "3" было...

Работа с датами
Собственно вопрос Получил запросом выборку из 2 колонок с датойвременем ,нужно вычислить разницу между ними в часах(датадиф как-то не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Номеклатура. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru