powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Курсор - Grid - исходные таблицы
3 сообщений из 3, страница 1 из 1
Курсор - Grid - исходные таблицы
    #33662970
pavelnew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста!

Создаю курсор из двух таблиц. Источником данных Grid делаю созданный мной курсор.

PUBLIC curs_name
curs_name=SYS(2015)
SELECT j.dincome, j.fio, sp.nn, sp.fio;
from jurvisit j, spposet sp;
INTO CURSOR &curs_name NOFILTER READWRITE

thisform.grid1.recordsource= '&curs_name'
thisform.grid1.refresh
thisform.grid1.setfocus

Возможно сделать так, чтобы при изменение в grid курсора изменились
соответствующие поля в исходных таблицах. Хотелось бы обеспечить максимальное быстродействие и надежность.
...
Рейтинг: 0 / 0
Курсор - Grid - исходные таблицы
    #33663032
slv0309
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может тебе поможет SET RELATION? Т.е. привяжи эти исходные таблицы к курсору (не забудь правильно подобрать ключ-индекс к таблицам) и в гриде выводи именно исходные таблицы, тогда имхо будешь править именно таблицы а не курсор
...
Рейтинг: 0 / 0
Курсор - Grid - исходные таблицы
    #33669213
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi pavelnew!

> INTO CURSOR &curs_name NOFILTER READWRITE

лучше не макро, а Name expression -

INTO CURSOR (m.curs_name) NOFILTER READWRITE

кроме того я вообще не вижу большого смысла генерировать постоянно такие
"случайные" имена - обычно это просто показывает, что автор не знаком с
концепцией датасессий, и в частности с Private Datasession

> thisform.grid1.recordsource= '&curs_name'

А не проще ли

thisform.grid1.recordsource= m.curs_name

> Возможно сделать так, чтобы при изменение в grid курсора изменились
> соответствующие поля в исходных таблицах.

Нет, но можно написать процедуру, которая будет сканировать этот курсор и
переносить изменения в базовую таблицу. При этом корректная работа при
обновлении одновременно 2-х таблиц возможна только для случая связи между
ними вида один-к-одному. Иначе нет никакой возможности выяснить какой-же из
множества вариантов текущего значения записи из таблицы со стороны "один"
связи один-ко-многим наиболее "правильный".

> Хотелось бы обеспечить максимальное быстродействие и надежность.

Для новичка значительно проще воспользоваться встроенным механизмом
локальных представлений, нежели делать собственный аналог (о чём я написал
выше). Он хоть и ограничен (нет полной гибкости при формировании текста
запроса), зато достаточно прост и не требует особо сложного
программирования. В VFP8 есть более продвинутый вариант - CursorAdapter.

А вот Relation совместно с гридом я использовать крайне не советую.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Курсор - Grid - исходные таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]