powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / редактирование View
2 сообщений из 2, страница 1 из 1
редактирование View
    #37286528
Даниэль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток
Ситуация такая:
1. Формируется View
SELECT Document.contactid,;
Document.series, Document.number, Document.datdeldoc, Document.typebase,;
Kind_document.namedoc, Kind_org.kodorg;
FROM ;
registr!document ;
INNER JOIN registr!kind_document ;
ON Document.kinddoc = Kind_document.kod ;
INNER JOIN registr!kind_org ;
ON Document.kodorg = Kind_org.contactid;
WHERE Document.contactid = ( ?PERS_CONT );
ORDER BY Document.datdeldoc DESC
Выбирается все замечательно. PERS_CONT- это персональный код
2. Нужно редактировать View. Данные, которые он должен обновить, находятся в таблице Document. Индивидуального поля в таблице Document нет (может быть несколько документов)
Пробовал добавить в качестве поля в представление RECNO("Document") AS keycode, но это поле равно 1 (пока только у каждого человека по одному документу), хотя в таблице Document эти записи находятся в разных местах.
3. Вопрос таков: как организовать уникальность? и по ходу возникает второй вопрос: если данное представление передавать (открывать) в форме для редактирования, то при установке в форме свойства DataSession = 2 этот View переоткроется и что будет с уникальными значениями в поле keycode?
...
Рейтинг: 0 / 0
редактирование View
    #37287008
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Необходимо "тупо" создать поле для хранения уникального идентификатора записи таблицы Document. Формировать его, например, при помощи свойства Autoincrement.

В реляционной модели базы данных любая таблица должна иметь поле или набор полей по значению кторых можно однозначно идентифицировать запись. Если "естесственные" поля (В смысле, поля, значение которых формируется вне программы. Например, регистрационный номер документа) могут быть не уникальными (например, два одинаковых номера документа), то вводится так называемые "суррогатные" ключи. Т.е. поля, значение которых формируется внутри программы и, как следствие, обеспечивается уникальность значений.

Основная идея: уникальное поле должно быть обязательно . Если требованиям уникальности не соответствует ни одна из естесственных характеристик записи, то создаем свое собственное поле.

Физический номер записи (Recno()) не может являться идентификатором записи, поскольку, в общем случае, запись может менять свой физический номер при выполнении определенных операций.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / редактирование View
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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