powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Изменение источника данных запроса
19 сообщений из 19, страница 1 из 1
Изменение источника данных запроса
    #39941857
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каждый год, на основании прежних таблиц (dog2019 и kas2019)
создаются новые таблицы(dog2020 и kas2020)
И так продолжается уже десятилетие или более.
----------------------------------------------------------------------------------
Имеется запрос:
Код: vbnet
1.
2.
3.
"SELECT dog2017.NOMER, kas2017.KASSA
FROM dog2017 RIGHT JOIN kas2017 ON dog2017.KOD = kas2017.KOD
WITH OWNERACCESS OPTION;" 



Для каждого года создавать новый запрос - решение не верное.
Делаю так:
Программно удаляю старый запрос и программно создаю новый.
Есть ли ещё какое решение этой задачи?
Объединение таблиц не предлагать. :-)
------------------------------------------------------------------------
Спасибо за ответ.
...
Рейтинг: 0 / 0
Изменение источника данных запроса
    #39941861
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,

ну если задача состоит в том, чтобы не создавать новый запрос, то: сделать текущие таблицы с именами dog и kas, а в начале года их очищать, предварительно сделав их копии с именами по прошлому году...
Сам по себе подход
час58
Каждый год, на основании прежних таблиц (dog2019 и kas2019)
создаются новые таблицы(dog2020 и kas2020)

предполагает необходимость что-то создавать и удалять...
Проще в таблицах dog и kas иметь поле ГОД, тут уж нужно выбирать - или один раз перелопатить интерфейс и забыть про сию задачу, или каждый год удалять/создавать...
...
Рейтинг: 0 / 0
Изменение источника данных запроса
    #39941867
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag, ПРИВЕТ.

ну....
таблицы очищать от данных нельзя.
В них заносят новые изменения по ходу всего года, а в старые года заносят изменения ещё по тем старым годам.
То есть все таблицы нужны и актуальны пару лет...
--------------------------------------------------------------
Запрос всегда делается к текущим, для текущего года таблицам.
Но каждый год (раз в год) запрос надо переписывать под новые названия. Потому что актуальным стал новый год.
:-)
Можно, конечно раз в год заморочиться ... но не хочется.
Лучше если запрос будет обращаться к новым таблицам (к актуальным.)
...
Рейтинг: 0 / 0
Изменение источника данных запроса
    #39941886
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58

Но каждый год (раз в год) запрос надо переписывать под новые названия. Потому что актуальным стал новый год.
:-)
А что в таблице нет поля с датой записи со значением по умолчанию Date()?. Далее автоматическое создание таблицы за прошедший год при первом запуске БД в новом году (такой код отработает быстро и какая разница будет при этом использован запрос или что другое) а из рабочей таблицы удалить записи с датами=Year-N (N-определите сами. О каких "новых названиях" и переписывании запроса при этом идет речь)
...
Рейтинг: 0 / 0
Изменение источника данных запроса
    #39941887
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку:
час58
....Каждый год, на основании прежних таблиц (dog2019 и kas2019)
создаются новые таблицы(dog2020 и kas2020)
И так продолжается уже десятилетие или более....
Что есть очень не ICE
...
Рейтинг: 0 / 0
Изменение источника данных запроса
    #39941889
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,
привет.
-----------
Даже не знаю как тебе ответить, что бы не огорчить тебя.
ну лан....
Ты ничё не понял.
----------------------------------
Каждый год, на основании прежних таблиц (dog2019 и kas2019)
создаются новые таблицы(dog2020 и kas2020)
То есть создаются точные копии двух старых таблиц.
Теперь есть старые таблицы (dog2019 и kas2019), в которые дописывают не дописанное
и новые таблицы(dog2020 и kas2020), в которые записывают новые события этого года.
И так продолжается уже десятилетие или более.
Что бы не создавать множество однотипных запросов

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
"SELECT dog2017.NOMER, kas2017.KASSA
FROM dog2017 RIGHT JOIN kas2017 ON dog2017.KOD = kas2017.KOD
WITH OWNERACCESS OPTION;" 

"SELECT dog2018.NOMER, kas2018.KASSA
FROM dog2018 RIGHT JOIN kas2018 ON dog2018.KOD = kas2018.KOD
WITH OWNERACCESS OPTION;" 



и далее по тексту......
...
Рейтинг: 0 / 0
Изменение источника данных запроса
    #39941890
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,
айс или не айс - это не обсуждается
:-)))
как есть, так есть.
Мне надо оптимизировать работу с запросом, на основании которого отчёт выдаёт актуальные данные.
...
Рейтинг: 0 / 0
Изменение источника данных запроса
    #39941891
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58, система придумана хорошая. что смущает? много запросов? можно создать программно их все, в рабочем режиме, а в режиме разработки не создавать. или что? понятно что не нравится, но что конкретно не нравится то?
...
Рейтинг: 0 / 0
Изменение источника данных запроса
    #39941892
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alecko, Спасибо.
Я узнать хотел, нормально придумано, или есть более изящный способ.
...
Рейтинг: 0 / 0
Изменение источника данных запроса
    #39941894
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58, добавляется ещё одно поле, в котором прописывается ключ скажем по номеру года. один запрос на все случаи жизни. но придется переписывать код, отладка с соответствующими последствиями, оно того стоит?
...
Рейтинг: 0 / 0
Изменение источника данных запроса
    #39941926
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alecko,
не стоит.
:-)
...
Рейтинг: 0 / 0
Изменение источника данных запроса
    #39941936
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58
vmag, ПРИВЕТ.

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


ПРИВЕТ.
Еще раз о том же...
У тебя рабочий запрос один и тот же:
Код: sql
1.
2.
3.
"SELECT dog.NOMER, kas.KASSA
FROM dog RIGHT JOIN kas ON dog.KOD = kas.KOD
WITH OWNERACCESS OPTION;" 


рассчитанный на работу с текущими таблицами dog и kas
Сейчас например 1 января 2020 года и у тебя есть таблицы:
- dog и kas с данными за 2019 год
- dog2018 и kas2018 с данными за 2018 год
- ну и прочие dog и kas за прошлые года...
Есть кнопочка "Переход на новый год!"
Нажимаешь 1 января или вечером 31 декабря эту кнопочку и происходит следующее:
1. Делаются копии таблиц с текущими данными:
текущая dog копируется в новую dog2019
текущая kas копируется в новую kas2019
2. Рабочие таблицы dog и kas очищаются.
3. Делается сжатие БД (при этом ключи/счетчики пустых таблиц dog и kas сбрасываются в ноль)
и они готовы регистрировать данные за 2020 год - это на тот случай если ты номера договоров привязывал
к счетчику...
Вот что тебя не устроит именно при таком подходе ? Ответь не просто типа - чистить нельзя, а конкретно...
...
Рейтинг: 0 / 0
Изменение источника данных запроса
    #39941947
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58

....Каждый год, на основании прежних таблиц (dog2019 и kas2019)
создаются новые таблицы(dog2020 и kas2020)....
Я и толкую о том что именно этого делать не надо-пусть будет одна таблица и если её объем со временем будет становится "неподъёмным" для ACCESS периодически очищать её и создавать архивы (не изменяемые таблицы,которые можно хранить в другом файле ),а вот моменты времени в которые автоматически производятся эти действия Вы определите сами(в зависимости от сроков,в которые допускается изменение данных. В течение этого периода,до создания архива, данные за любой год извлекаются простым запросом.Стесняюсь спросить:хранить в базе несколько однотипных таблиц(не архивов) и работать с ними-не нарушает ли это,очень грубо, правила "базостроения")
...
Рейтинг: 0 / 0
Изменение источника данных запроса
    #39941948
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58
....Для каждого года создавать новый запрос - решение не верное....
Абсолютно не верное, но при наличии одной таблицы достаточно одного запроса с параметром
...
Рейтинг: 0 / 0
Изменение источника данных запроса
    #39941999
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
ПРИВЕТ.
Еще раз о том же...

Неужели у ТС так много данных за год ? Что возникает необходимость создания каждый год новых таблиц ?
...
Рейтинг: 0 / 0
Изменение источника данных запроса
    #39942010
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMan
Неужели у ТС так много данных за год ?

Да у него там типа жкх, может и есть более менее приличное количество записей... обычно проблемы начинаются с быстродействием на сетке 100 мбит, при линкованных таблицах все фильтры срабатывают уже на машине клиента после того как вся таблица переползла по сетке... Типичная ошибка включить пару машин с базой в 100 мб wifi-роутер, который раздает интернет и в него еще воткнуто видеонаблюдение... Стоит только добавить туда хаб на 1 гигабит и соединить через него компы с БД, - сразу все проблемы отпадают...
...
Рейтинг: 0 / 0
Изменение источника данных запроса
    #39942634
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag,

Записей не много.
Это было сделано ещё для access-97
С тех пор люди работают.
Сливать сейчас в одну базу ни как не получится.
Я же написал, что этот вариант не предлагать.
:-))
...
Рейтинг: 0 / 0
Изменение источника данных запроса
    #39942648
bubucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58
создаются новые таблицы(dog2020 и kas2020)
И так продолжается уже десятилетие или более.

Не переживай и чувствуй себя нужным;))) партицирование в аксес вроде как еще не завезли. Создать срезы старых данных по расписанию нормальная практика. Нужна аналитика в разрезах - тогда денормализация с аграцией данные в нужных разрезах, нужен полный набор данных - убираем в архив. Чего за переживалки? Чудес не бывает, гигогерцы и объемы hdd конечны
...проблема надумана, все у вас нормуль
...
Рейтинг: 0 / 0
Изменение источника данных запроса
    #39942650
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bubucha,
:-)))))
спс
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Изменение источника данных запроса
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]