Временная таблица, ADP

IFK
Дата: 23.11.2009 12:49:11
Народ, вопрос:
как создать в ADP таблицу, не связанную с СКЛ-сервером?

Если расширить задачу и ответить на вопрос типа "а нафига такое нужно": при работе нескольких пользователей с одной таблицей в ADP возникает проблема с чекбоксами. Например, первый пользователь выбирает чекбоксами несколько записей для экспорта. В это же время второй пользователь делает тоже самое, только записи выбирает другие. В результате оба пользователя получат объединенный набор записей, т.к. чекбоксы, выбранные первым и вторым пользователем действительны для обоих. Как побороть?
Rivkin Dmitry
Дата: 23.11.2009 12:57:22
1. Легко. Милион примеров. Set cnt = Nothing

2. В таблице чекбоксов нет и быть не может! Они могут быть только на форме. А экземпляр формы каждый юзер получает свой. Так что проблем нет. И не надо их искать.
IFK
Дата: 23.11.2009 13:35:07
А можно поподробнее насчет "легко"? Если я создаю таблицу в АДП, она тут же появляется на сервере.

Set cnt = Nothing - это что? Рекордсет?

Если я создаю форму, привязанную к таблице, а в таблице есть поле "Да/Нет", то на форме это поле есть чекбокс для выбора записи. Если же два и более пользователя работают с этой таблицей через форму и используют поле "Да/Нет" для выбора записей, то каждый из пользователей получает ОБЩИЙ набор выбранных записей. Форма для каждого индивидуальная, это ясно, но таблица как источник записей - общая. Или я что-то не понимаю?
П-Л
Дата: 23.11.2009 13:45:58
Надо чекбоксы держать в отдельной таблице, где кроме ID записи держать логин пользователя. Чтобы разнести разных пользователей друг от друга.
Rivkin Dmitry
Дата: 23.11.2009 13:54:23
IFK
А можно поподробнее насчет "легко"? Если я создаю таблицу в АДП, она тут же появляется на сервере.

Set cnt = Nothing - это что? Рекордсет?

Если я создаю форму, привязанную к таблице, а в таблице есть поле "Да/Нет", то на форме это поле есть чекбокс для выбора записи. Если же два и более пользователя работают с этой таблицей через форму и используют поле "Да/Нет" для выбора записей, то каждый из пользователей получает ОБЩИЙ набор выбранных записей. Форма для каждого индивидуальная, это ясно, но таблица как источник записей - общая. Или я что-то не понимаю?

1. Поищи по форуму создание временных таблиц в АДО. Или подожди других ответов.
2. А чем оправдано применение таблицы с логическими полями для создания экспорта? Сождай процедуру с параметрами и передавай с формы эти параметры в процедуру, а таблицу - в топку
IFK
Дата: 23.11.2009 13:57:51
Угу. Уже думал. Но это геморройно. Как быть с клиентами, которые туда-сюда кликают на чекбоксы? Скажем, ошибся человек и кликнул на чекбокс, а потом снял его, а запись в таблицу занеслась.

Думал над вариантом: открывать форму на основе рекордсета только для экспорта. Т.е. для каждого клиента форма открывается на основе его предварительного выбора из таблицы. Клиент вбивает чекбоксы, записи экпортируются, при закрытии формы, рекордсет обнуляется. Отсюда вопрос: если делать так, будут ли пересекаться рекордсеты? Мне кажется, что нет.
ё
Дата: 23.11.2009 13:58:11
IFK
А можно поподробнее насчет "легко"? Если я создаю таблицу в АДП, она тут же появляется на сервере.

Set cnt = Nothing - это что? Рекордсет?
...


Вам предлогают пользоваться в форме отвязанным рекордсетом
1.
создать новый рекордсет нужной структуры, заполнить и присвоить Me.Recordset
(так сам делаю - работает)

или
2.
после загрузки данных в форму - сделать
Me.Recordset.ActiveConnection = Nothing
(так не пробовал)

тогда изменения в данных на форме (установка чекбоксов) - не будут отображатся в таб.на сервере
а когда надо будет делать экспорт - пробежатся по рекордсету формы, проверить флажки , ну и т.д...
IFK
Дата: 23.11.2009 14:05:00
Ок, сенкс, попробую. :)

С отсоединением рекордсета - прикольно! Если это сработает, то проблема решена. :)
IFK
Дата: 23.11.2009 14:08:30
Хм. Я так понял, что Me.Recordset.ActiveConnection = Nothing работает только для ADO. Под DAO не фунциклирует. :(
ё
Дата: 23.11.2009 14:10:35
IFK
Хм. Я так понял, что Me.Recordset.ActiveConnection = Nothing работает только для ADO. Под DAO не фунциклирует. :(


....какое такое ДАО, если у Вас АДП??