Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> две формы( передача значений) 
:(
    Опции темы
alexIrish
Дата 12.2.2008, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 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  но чего то не вышло.

Спасибо.

PM MAIL   Вверх
bopoha
Дата 12.2.2008, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Почему не из таблицы, а с формы? Данные в таблицу и попадают...

У форм можно получить Recordset методом:
Код

set rst = me.RecordsetClone

PM MAIL WWW ICQ Skype GTalk   Вверх
alexIrish
Дата 13.2.2008, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 217
Регистрация: 26.1.2006
Где: Ireland, Dublin

Репутация: нет
Всего: нет



Цитата

Почему не из таблицы, а с формы? Данные в таблицу и попадают...

Потому что в форме 1-20 строк и все которые надо а таблица все время растет. И со временем запрос будет тормозить.
Sама таблица DownTime нузна для подробного отчета. но вот процеs заполнения ее данными является частью другого отчета.

Цитата

У форм можно получить Recordset методом:
Код

set rst = me.RecordsetClone


A kak потом етот рекордсет присабачить к запросу? Sам то рекордсет я получил...  smile 
нужно потом SQL запрос на update выполнить, типа:
Код

Update TEMP1,rst Set TEMP1.DownTime = (Select SUM(rst.DownTime),Operator From rst Group by Operator)
Where TEMP1.Operator=rst.Operator

Я понимаю, что рекордsет ето не запрос и не таблица, и что такой запрос работать ни когда не будет.
Идея такова, что берем результат суммы DownTime, по операторам и апдейтим таблицу TEMP1.
Я ж грешным делом временную таблицу через TableDef хотел сделать и ее в запрос сунуть, потом решил что по времени выполнения
выигрыша не будет. Что запрос ко всей таблице DownTime s nuzhnymi parametrami, что создание новой, пусть и маленькой таблицы, запрос на апдатейт с 
innner Join DownTime i етой новой, и удаление новой таблицы.

Ваш совет?
PM MAIL   Вверх
Akina
Дата 13.2.2008, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(alexIrish @  13.2.2008,  01:37 Найти цитируемый пост)
со временем запрос будет тормозить

Какой объем таблицы ожидается? сотни тысяч записей? миллионы? потому как тысячи (даже 10-20 тысяч) не должны тормозить на выборках без вторичного использования вычисляемых полей.

Цитата(alexIrish @  12.2.2008,  20:26 Найти цитируемый пост)
не из таблицы, а имменно из формы. Т.е строки которые только что были внесены

Коллекция Forms включает в себя все открытые в текущий момент формы. Получите ссылку на нужную. У нее соответственно есть коллекция Controls, которая включает в себя все имеющиеся на форме контролы, в т.ч. скрытые и неактивные. Найдите нужный и получите его содержимое (Text, Value, etc.)/

ЗЫ. Вот нутром чую, счас еще окажется, что формы отображаются в режиме таблицы... или какая другая пакость.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
bopoha
Дата 13.2.2008, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



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

Немного теории:
В не зависимости от того сколько в таблице данных, на форму они выбираются запросом. Если таблица связаная - находится в другой mdb - а эта mdb находится на другой машине , то таблица полностью загружается. Даже если выбирать одну запись.
Recordset - набор данных.
текст SQL - текстовая инструкция движку базы данных. Если на выборку, то в результате получаем Recordset.
Recordset нельзя вставить в SQL.

Этот запрос, если вместо rst указать имя таблицы, работать не будет.
Код

Update TEMP1,rst Set TEMP1.DownTime = (Select SUM(rst.DownTime),Operator From rst Group by Operator)
Where TEMP1.Operator=rst.Operator

Т.к. вложенный запрос должен возвращать одну запись! А может вернуть несколько. Значит групировку убрать, а фильтр добавить.
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0478 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.