![]() |
|
Модераторы: Akina |
![]()
|
|
| alexIrish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.1.2006 Где: Ireland, Dublin Репутация: нет Всего: нет |
Привет.
Нужна подсказка/совет: во временной таблице TEMP1 три поля: Operator, TotalTime, DownTime Поля Operator, TotalTime заполняются напрямую в одной форме formTEMP1 связанной с етой таблицей. Заполнили: Operator TotalTime DownTime Bob 8 Chris 8 Нажали кнопку, открылась вторая форма formTEMP2 из второй форме formTEMP2 , заполняются поля таблицы DownTime.( R_Date, Operator, DownTime, DownTimeDescription) Пример строк таблицы DownTime: заполнили 12/02/08 Bob .25 IT issue 12/02/08 Bob .5 No picks 12/02/08 Chris .2 No picks теперь нужно что бы по нажатию кнопки из формы formTEMP2 передалось: Sum(DownTime) group by Operator ( но не из таблицы, а имменно из формы. Т.е строки которые только что были внесены) в форму formTEMP1 / таблицу TEMP1 соответственно DownTime.Operator = TEMP1 .Operator Таблицы TEMP1 и DownTime не связаны. Я пробовал через formTEMP2 . Recordset но чего то не вышло. Спасибо. |
|||
|
||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Почему не из таблицы, а с формы? Данные в таблицу и попадают...
У форм можно получить Recordset методом:
|
|||
|
||||
| alexIrish |
|
||||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.1.2006 Где: Ireland, Dublin Репутация: нет Всего: нет |
Потому что в форме 1-20 строк и все которые надо а таблица все время растет. И со временем запрос будет тормозить. Sама таблица DownTime нузна для подробного отчета. но вот процеs заполнения ее данными является частью другого отчета.
A kak потом етот рекордсет присабачить к запросу? Sам то рекордсет я получил... нужно потом SQL запрос на update выполнить, типа:
Я понимаю, что рекордsет ето не запрос и не таблица, и что такой запрос работать ни когда не будет. Идея такова, что берем результат суммы DownTime, по операторам и апдейтим таблицу TEMP1. Я ж грешным делом временную таблицу через TableDef хотел сделать и ее в запрос сунуть, потом решил что по времени выполнения выигрыша не будет. Что запрос ко всей таблице DownTime s nuzhnymi parametrami, что создание новой, пусть и маленькой таблицы, запрос на апдатейт с innner Join DownTime i етой новой, и удаление новой таблицы. Ваш совет? |
||||||||
|
|||||||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Какой объем таблицы ожидается? сотни тысяч записей? миллионы? потому как тысячи (даже 10-20 тысяч) не должны тормозить на выборках без вторичного использования вычисляемых полей.
Коллекция Forms включает в себя все открытые в текущий момент формы. Получите ссылку на нужную. У нее соответственно есть коллекция Controls, которая включает в себя все имеющиеся на форме контролы, в т.ч. скрытые и неактивные. Найдите нужный и получите его содержимое (Text, Value, etc.)/ ЗЫ. Вот нутром чую, счас еще окажется, что формы отображаются в режиме таблицы... или какая другая пакость. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
alexIrish, вы очень сильно мудрите, высасывая утверждения из пальца. Вам стоит очень сильно подумать над алгоритмом работы. Т.к. через месяц подобную кашу очень тяжело разгребсти. Чем проще, тем лучше.
Немного теории: В не зависимости от того сколько в таблице данных, на форму они выбираются запросом. Если таблица связаная - находится в другой mdb - а эта mdb находится на другой машине , то таблица полностью загружается. Даже если выбирать одну запись. Recordset - набор данных. текст SQL - текстовая инструкция движку базы данных. Если на выборку, то в результате получаем Recordset. Recordset нельзя вставить в SQL. Этот запрос, если вместо rst указать имя таблицы, работать не будет.
Т.к. вложенный запрос должен возвращать одну запись! А может вернуть несколько. Значит групировку убрать, а фильтр добавить. |
|||
|
||||
![]()
|
| Правила форума "MS Access" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS Access | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |