powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос новичка по VisualFoxpro 8.0
8 сообщений из 8, страница 1 из 1
Вопрос новичка по VisualFoxpro 8.0
    #33515380
ОlgaLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуста с таким вопросом.
Неразберусь в чем нужно сохранять запрос, если его данные нужны для отображение в форме. Причем изменение в таблицах на которых основан запрос, должно по умолчанию отображаться в запросе.
Причем посроение форм основывается только на *.dbf? как я поняла.
А если я сохраню запрос в таблице изменения данных же не будут в ней отображаеться,это законченны "объект" (пока такой вывод).
Создание форм на основе курсора ????. Пока я это не смогла сделать.

До этого работала на FoxPro 2.6 там с этим проще.

Помогите. Заранее спасибо
...
Рейтинг: 0 / 0
Вопрос новичка по VisualFoxpro 8.0
    #33515473
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОlgaLLДо этого работала на FoxPro 2.6 там с этим проще.
А как Вы работали в FPD 2.6 с запросами, при такой постановке задачи? В VFP в этом смысле почти ничего не изменилось.

Результат работы Select-SQL - это ДРУГАЯ таблица. Никакого отношения к таблицам-источникам не имеющая. Если изменились данные в таблице-источнике, необходимо заново выполнить Select-SQL.

Верно и обратное. Изменение в результате выборке по Select-SQL не имеют никакого отношения к таблицам-источникам.

Чтобы облегчить взаимный обмен данными между выборкой по Select-SQL и таблицами-источниками в VFP был создан такой объект как LOCAL VIEW.

Физически, это все тот же запрос Select-SQL, но в дополнительной "упаковке". Эта "упаковка" облегчает процесс обмена, да и собственно работу с результатом выполнения запроса.

Для любых объектов формы Local View ничем не отличается от обычных таблиц базы данных. Работа с ним происходит как с обычной таблицей.

Для того, чтобы заново запросить данные из таблиц источников в Local View, используется команда Requery("MyView"), которая уничтожает все записи в Local View и заново их формирует данными из таблиц-источников.

Для того, чтобы изменения, сделанные во View попали в таблицу-источник, необходимо сделать ряд настроек на закладке Update Criteria в дизайнере View.
...
Рейтинг: 0 / 0
Вопрос новичка по VisualFoxpro 8.0
    #33515849
OlgaLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ага спасибо, полезная информация.
А в Foxpro 2.6, я работала так:
Cоздавала запрос, помещала его результат в таблицу.
Данные таблицы помещала в отчет который сохраняла в текстовом файле.
При закрытии запроса данная таблица удалялась. И соответственно наоборот.
То есть я не пользовалась помощью курсоров и предсавлений.

А сейчас изучаю представления и курсоры.

Что касаеться LOCAL VIEW, я все поняла.
А вот просто курсор. Если предсавлениея обновляемые курсоры, то смысл просто курсоров. В чем они полезны.
Форму я могу создать на основе LOCAL VIEW, я уже пробовала. А вот на основе просто курсора нет.
...
Рейтинг: 0 / 0
Вопрос новичка по VisualFoxpro 8.0
    #33515940
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курсор - это та же самая временная таблица. Просто FoxPro сам же ее и удалит в момент закрытия. В этом смысле, работа с курсорами ничем не отличается от работы с обычными таблицами. Все то же самое, что и в FPD (там тоже можно было создавать курсоры).

С точки зрения дизайнера форм проблема заключается в том, что на момент конструирования самой формы этого курсора физически просто не существует. Кроме того, он не является объектом базы данных. Поэтому курсор не видно в раскрывающихся списках на этапе проектирования формы.

Привязку объектов к курсору надо осуществлять "вручную". Т.е. где-то в INIT-формы так прямо и писать:

SELECT * FROM MyTab INTO CURSOR curMyTab NOFILTER
ThisForm.TextBox.ControlSource = "curMyTab.Field1"

Исключением в этом смысле являются объекты Grid, ListBox и ComboBox. Т.е. с ними можно поступить также как и с обычными объектами, сделав привязку к созданному в INIT-формы курсору, но кроме этого есть и еще один способ.

У них можно в качестве типа источника данных указать SQL-statment

Grid.RecordSourceType = 4 - SQL-statment
или
Combo.RowSourceType = 3 - SQL-statment

В этом случае, в качестве собственно источника данных можно написать запрос, результат которого и будет использован как источник данных для объекта

Grid.RecordSource = "SELECT * FROM MyTab INTO CURSOR curMyTab NOFILTER"
или
Combo.RowSource = "SELECT * FROM MyTab INTO CURSOR curMyTab NOFILTER"
...
Рейтинг: 0 / 0
Вопрос новичка по VisualFoxpro 8.0
    #33516063
OlgaLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Владимир, вы мне помогли 8)))
А то совсем запуталась.
...
Рейтинг: 0 / 0
Вопрос новичка по VisualFoxpro 8.0
    #33516346
5631
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно для привязывания Grid к курсору на этапе создания сделать
Select .......From.......Into Table MyTable.
Привязать билдером Grid к таблице MyTable.
Затем убрать таблицу MyTable из DatEnv и уничтожить вообще.
Поставить в нужное место
Select .......From.......Into Cursor MyTable.
И все. Экономится много времени.
...
Рейтинг: 0 / 0
Вопрос новичка по VisualFoxpro 8.0
    #33517312
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 5631
Можно проще,
пропиши в гриде имя курсора и ставь свой селект где хочешь и когд ахочешь, неважно до того ли ты пропишешь или после.
...
Рейтинг: 0 / 0
Вопрос новичка по VisualFoxpro 8.0
    #33518053
5631
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Недоходящий! Ты не понял, для чего я так делаю. Чтобы иметь возможность использовать билдер.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос новичка по VisualFoxpro 8.0
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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