powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Использование представлений в vfp
8 сообщений из 8, страница 1 из 1
Использование представлений в vfp
    #32320809
Sergey Volodko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, плиз, когда лучше использовать представления а когда можно работать напрямую с таблицами. Извините за дурацкий вопрос. Но у меня такая вот ситуация: есть две таблицы связанные по ключевому полю необходимо упорядочивать данные по полю из дочерней таблицы . Как лучше использовать каждый раз Index on ... или сделать обновляемое представление поле по которому данные будут упорядочиваться будет меняться в зависимости от желаний пользователя (т.е. например по фамилии, по адресу, и т.д.)
Спасибо.
...
Рейтинг: 0 / 0
Использование представлений в vfp
    #32320817
andrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это зависит от задачи и в большей мере от программиста.
Если данные у тебя на sql-сервере, то представления.
Если на твоем ПК или на другом ПК, но в фоксовом виде, и так и эдак.
А можно еще применить select-sql и полученный результат уже отображать в гриде или где.
...
Рейтинг: 0 / 0
Использование представлений в vfp
    #32320831
Sergey Volodko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Данные храняться в dbf но приложение подразумевает многопользовательский доступ.
...
Рейтинг: 0 / 0
Использование представлений в vfp
    #32320928
ЗВН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда дествительно select .. order by... into cursor curstemp

thsiform.grid1.controlsource.curstemp
thsiform.grid1.column1.controlsource=[curstem... Абонент] и т.п.

Если требуется сортировать по нажатию заголовка, тогда этот способ не пойдет так как при повторном присвоении controlsource
код забитый в click headera столбца grida потеряется

нужно запомнить свой класс grida
вообще это муторно... советую спросить может кто сбросит уже готовый
...
Рейтинг: 0 / 0
Использование представлений в vfp
    #32321014
karly™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Как лучше использовать каждый раз Index on ... или сделать обновляемое представление поле по которому данные будут упорядочиваться будет меняться в зависимости от желаний пользователя (т.е. например по фамилии, по адресу, и т.д.)

Делать представление сортируемым в зависимости от параметра достаточно гемморойно :(
Я в результате сделал так - данные выбираются в обычное представление,
и сортируются по нажатию на соответствующий заголовок грида с помощью index on ...
Ведь представление - это та же таблица. Для начала можешь сделать проще - добавь на форму
комбобокс "Порядок сортировки". И в ComboBox.InteractiveChange напиши индексацию,
в зависимости от выбранного значения.

Пара замечаний. После Requery() необходимо делать Reindex. Кроме того,
нельзя индексировать представления, на которых установлена 5-я буфферизация.
Т.е. нужно сначала сбросить ее в 3-ю, а потом можно вернуть на место :)
...
Рейтинг: 0 / 0
Использование представлений в vfp
    #32321125
andrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) Если данные, которые ты показываешь (только для просмотра), то кажется проще сделать так:
в методе LOAD пишешь (данные могут быть из одной или нескольких таблиц):
SELECT .... FROM .... INTO CURSOR cuswork
в ROWSOURCE для грида пишешь ='cuswork'
и где-нибудь (в обработчиках грида или другом объекте) пиши себе INDEX ON по полю которое выбрал юзер.
2) Если они обновляемые, то можно сделать через представления (как предложил karly™) или загонять данные во временную таблицу/курсор и по окончании корректировки ручками отправлять измененные данные.
...
Рейтинг: 0 / 0
Использование представлений в vfp
    #32321215
Sergey Volodko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем.
полная картина у меня следующая : У меня на форме PageFrame На одной странице форма редактирования карточки , на другой грид где я хотел бы по нажатию на заголовок сортировать записи. Программа работает в сети. Как лучше использовать обновляемые представления с последующим index on или обойтись без представления а в методе load формы делать необходимые индекса и при выходе их уничтожать? Я просто никогда не работал с представлениями и было бы интересно услышать мнения на этот счет. Таблицы в формате dbf.
...
Рейтинг: 0 / 0
Использование представлений в vfp
    #32321707
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для справки:

Если информация во View обновляется по команде Requery(), то структурный индексный файл (да и вообще все открытые индексы) перестраивается автоматически. Т.е. нет необходимости в последующем Reindex.

Метод Header теряется только если теряется сам Header, что происходит только в том случае, если произошел автоматический сброс источника данных для Grid. Если же предварительно перед заменой источника вручную сбрасывать источник данных командой

thsiform.grid1.RecordSource=''

То потери форматирования Grid-а и методов его колонок не произойдет
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Использование представлений в vfp
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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