:: Visual Foxpro, Foxpro for DOS
Как прочитать таблицу из другой DataSession
lili
Автор

Сообщений: 432
Откуда: Сыктывкар
Дата регистрации: 07.11.2005
Приветствую всех!
Есть главная форма в Default DataSession, из которой открыто несколько других форм в приватных DataSession со своими таблицами. Можно ли, не переключаясь по set datasession to, находясь в Default DataSession, считать данные из таблиц приватных DataSession? Если использовать "переключения", то портится грид на главной форме.
Ratings: 0 negative/0 positive
Re: Как прочитать таблицу из другой DataSession
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Для доступа к данным надо написать метод в этой самой форме и его и вызывать из других форм. Курсоры НЕ передаются как параметры, так что надо определиться ЧТО другим формам нужно из данных этой. Может быть достаточно обычных число/строка/дата, может быть SCATTER NAME - если нужны все поля одной записи, может быть массив или XML если нужно множество записей. А может быть стоит вообще в другой форме открыть тот же источник данных (тот же CAD, представление или запрос исполнить) и работать со "своим" курсором.
Переключение датасессии малополезно, т.к. в этом случае не только "ломается грид" (что в принципе то без проблем лечится - в FAQ есть даже - та же тема что и для pack), но теряется доступ к "своим" курсорам - т.е. "связать" чужое со своим (если оно в курсорах находится) в одном методе всё равно не получится. А раз так - то совершенно логично ту часть что работает с "чужим" и разместить в "чужой" форме. И не парится с SET DATASESSION.
Для некоторых типов курсоров есть всякие хитрые заднепроходные трюки, но не стоит искать сложного там, где можно сделать просто и напрямую


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Как прочитать таблицу из другой DataSession
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Игорь все описал.
Что бы найти правильное решение, мало
lili
из которой открыто несколько других форм в приватных DataSession
Нужно знать смысл зачем они открыты, все ли вместе сразу...
Типичная задача.
Есть форма, которая наполняется из других форм (справочников и тп)
Тогда, нам нужна лишь одна выбранная в другой форме запись, и ее легко передать в главную форму, главное, вызванная должна знать о вызвавшей, в например в проперти MainForm
Примерно так
SCATTER name oRetMap
thisform.MainForm.метод_приема_данных(oRetMap)


------------------




Исправлено 1 раз(а). Последнее : Аспид, 24.07.18 13:21
Ratings: 0 negative/1 positive
Re: Как прочитать таблицу из другой DataSession
lili
Автор

Сообщений: 432
Откуда: Сыктывкар
Дата регистрации: 07.11.2005
Спасибо, смысл ясен, все получилось через методы.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 14 PuMa  (Гостей: 13)

© 2000-2024 Fox Club 
Яндекс.Метрика