powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / помогите с гридом
11 сообщений из 11, страница 1 из 1
помогите с гридом
    #32805623
Alexandr VZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две таблицы соединенные по первичному ключу.
Есть форма, на которой расположен грид. На гриде отображается информация из обеих таблиц. Все записи не помещаются в видимой части грида, поэтому приходится использовать скролинг и тут возникают проблемы. Если фокус находится на колонке, таблица источника которой совпадает с recordsource грида все нормально, а если таблица источника колонки вторая таблица, то все плохо - все новые записи (только в данной колонке), появляющиеся при скролинге содержат одно и тоже (точне то что было в нижней строке грида).
Как либо это дело отрефрешить результатов не дает.
...
Рейтинг: 0 / 0
помогите с гридом
    #32805746
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexandr VZЕсть две таблицы соединенные по первичному ключу.
Есть форма, на которой расположен грид. На гриде отображается информация из обеих таблиц. Все записи не помещаются в видимой части грида, поэтому приходится использовать скролинг и тут возникают проблемы. Если фокус находится на колонке, таблица источника которой совпадает с recordsource грида все нормально, а если таблица источника колонки вторая таблица, то все плохо - все новые записи (только в данной колонке), появляющиеся при скролинге содержат одно и тоже (точне то что было в нижней строке грида).
Как либо это дело отрефрешить результатов не дает.
Сделай в качестве источника записей для Грида выборку (Select) из этих таблиц, куда ты поместишь необходимые тебе данные. Проблем будет на порядок меньше!
...
Рейтинг: 0 / 0
помогите с гридом
    #32806143
Alexandr VZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо.
Выборка это хорошо, но мне нужна возможность добавлять, удалять и редактировать записи на гриде, а использование в качестве источника грида выборки это делать не позволит.
...
Рейтинг: 0 / 0
помогите с гридом
    #32806239
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это только видимость что выборка не позволяет вносить изменения в таблицу на самом деле все не так
...
Рейтинг: 0 / 0
помогите с гридом
    #32806755
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Alexandr!

Ключевое слово тут - обновляемое (лучше если параметризованное)
представление aka LocalView

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
помогите с гридом
    #32812189
Alexandr VZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал через LocalView, грид все отображает правильно!
Но возникла проблема с TABLEUPDATE, изменения в исходных таблицах почему-то сохраняются только для первой, а для второй нет. При этом TABLEUPDATE возвращает ошибку №10 'Syntax error'.
...
Рейтинг: 0 / 0
помогите с гридом
    #32812842
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делать обновляемое View более чем для 1 таблицы - относительно сложная задача. Проблема в том, что ты никак не можешь управлять порядком обновления таблиц.

Для корректного создания записи подчиненной таблицы нужно заранее знать код новой записи главной таблицы.

Если ты создаешь значение ключа новой записи через собственную функцию, например, NewID(), то особой проблемы нет. Это можно сделать прямо во view в момент создания новой записи.

Но если ты используешь автоинкрементные поля (Integer- autoIncrement), то ту все несколько сложнее. Если очень надо могу описать как это сделать. НО! А оно тебе действительно надо?

Дело в том, что редактирование напрямую в Grid по возможности желательно избегать, а объединение в одном Grid более чем 1 таблицы для редактирования надо избегать с удвоенной силой

Если у тебя связь между таблицами один-ко-многим, то отобрази их в 2 разных Grid. Во втором Grid - только записи подчиненной таблицы для текущей записи главной.

А если связь один-к-одному, то у тебя что-то неправильно либо в организации структуры базы данных, либо в организации собственно работы с данными. Крайне редко таблицы связанные таким образом требуют одновременной вставки новых записей.
...
Рейтинг: 0 / 0
помогите с гридом
    #32812865
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Alexandr!

Как ты себе представляешь обновление 2-х таблиц из одного представления? Они
у тебя связаны как 1-к-1? Или одна из них это справочник?
Если 1-к-1 то надо смотреть код и править. Если справочник (соответственно
связь много-к-1), то надо просто принять за правило НЕ обновлять 2 таблицы
из одного представления. Это в принципе НИКОГДА и не нужно. Для ведения
справочника создай отдельное представление и отдельную форму. А в этой правь
только 1 (основную) таблицу. Ессно что среди прочих полей можно править и
поле внешнего ключа, связывающей эту таблицу со справочником.

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
помогите с гридом
    #32813764
Alexandr VZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем Привет!
Связь между таблицами у меня один к одному. Может оно и бывает редко, но у меня есть такая необходимость иметь возможность редактировать сразу обе таблицы. Дело в том, что у меня есть основная таблица параметров, где содержаться их общие свойства (наименование и т. д.) и есть ряд таблиц, каждая из которых содержит специфичные свойства одного из типов параметров. Поэтому возможна ситуация, когда необходимо редактировать и общие и специфичные свойства.
Самое интересное, что добавление новых записей проходит отлично, все добавляется в обе таблицы, а вот при редактировании существующих записей изменения попадают только в основную таблицу. Кстати, значение ключа новой записи я создаю сам через собственную функцию.
...
Рейтинг: 0 / 0
помогите с гридом
    #32814273
Alexandr VZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо!
Дошло в чем проблема!
Просто одно из полей в таблице со специфическими характеристиками носило имя "VALUE". Вот блин!
...
Рейтинг: 0 / 0
помогите с гридом
    #32827665
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Alexandr!

Вообще-то для корректной работы с 2-мя таблицами AFAIK нужно включить в
список полей ОБА первичных (один из которых заодно ещё и внешний) ключа
(несмотря на то что они совершенно одинаковые) - ну и ессно указать для этих
полей что они ключевые, и обновляемые...

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


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