| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS Access > две формы( передача значений) |
| Автор: alexIrish 12.2.2008, 19:26 |
| Привет. Нужна подсказка/совет: во временной таблице 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 12.2.2008, 19:33 | ||
| Почему не из таблицы, а с формы? Данные в таблицу и попадают... У форм можно получить Recordset методом:
|
| Автор: alexIrish 13.2.2008, 00:37 | ||||||||
Потому что в форме 1-20 строк и все которые надо а таблица все время растет. И со временем запрос будет тормозить. Sама таблица DownTime нузна для подробного отчета. но вот процеs заполнения ее данными является частью другого отчета.
A kak потом етот рекордсет присабачить к запросу? Sам то рекордсет я получил... нужно потом SQL запрос на update выполнить, типа:
Я понимаю, что рекордsет ето не запрос и не таблица, и что такой запрос работать ни когда не будет. Идея такова, что берем результат суммы DownTime, по операторам и апдейтим таблицу TEMP1. Я ж грешным делом временную таблицу через TableDef хотел сделать и ее в запрос сунуть, потом решил что по времени выполнения выигрыша не будет. Что запрос ко всей таблице DownTime s nuzhnymi parametrami, что создание новой, пусть и маленькой таблицы, запрос на апдатейт с innner Join DownTime i етой новой, и удаление новой таблицы. Ваш совет? |
| Автор: bopoha 13.2.2008, 12:27 | ||
| alexIrish, вы очень сильно мудрите, высасывая утверждения из пальца. Вам стоит очень сильно подумать над алгоритмом работы. Т.к. через месяц подобную кашу очень тяжело разгребсти. Чем проще, тем лучше. Немного теории: В не зависимости от того сколько в таблице данных, на форму они выбираются запросом. Если таблица связаная - находится в другой mdb - а эта mdb находится на другой машине , то таблица полностью загружается. Даже если выбирать одну запись. Recordset - набор данных. текст SQL - текстовая инструкция движку базы данных. Если на выборку, то в результате получаем Recordset. Recordset нельзя вставить в SQL. Этот запрос, если вместо rst указать имя таблицы, работать не будет.
Т.к. вложенный запрос должен возвращать одну запись! А может вернуть несколько. Значит групировку убрать, а фильтр добавить. |