Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [vfp9 / oracle] remote view - ошибка (наверное в н 
V
    Опции темы
Arks
  Дата 21.9.2007, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 7.5.2006
Где: Барнаул

Репутация: нет
Всего: нет



Такая вот странная ошибка получается...
Прога БД на oracle, а клиент - vfp9
В программе была таблица laccount: (PK) id_account, money, id_actype, id_client
id_account была и первичным ключом и смысловым полем. Понадобилось разделить их, сделал так (напрямую в oracle):
(PK) id_account, account_num, money, id_actype, id_client.
Далее заполнил новый столбец и приступил к изменению клиента.
Добавил в отображаемые (используемые) поля таблиц в remote view (r_laccount) новое, в итоге получилось это:
3 таблицы - основная laccount и две вспомогательных actype (перв. ключ id_actype), client (id_client).
связи innerjoin от основной к первичным ключам доп. таблиц.

Далее в форме просмотра добавил новый столбец. Здесь всё нормально. Проблема возникла, когда стал изменять форму корректировки:
У меня id_account сначала был полем Text (Text1) с ReadOnly = .F. Изменил на .T., изменил ControlSource с r_laccount.id_account на r_laccount.account_num.
Но ничего не меняется: когда вызываешь эту форму для изменения или добавления записи, Text1 становится readonly и в него загружается текущее (либо новое по автоинкременту, если добавляется новая запись) значение первичного ключа.
Почему это происходит? Как можно исправить?

Заранее спасибо.

Вот, наверное это оно (remote view изнутри): 

Код

SELECT Laccount.ID_ACCOUNT, Laccount.MONEY, Laccount.ACCOUNT_NUM, Actype.NAME, Client.FIO, Laccount.ID_CLIENT, Laccount.ID_ACTYPE FROM  POWT_41KAA.LACCOUNT Laccount  INNER JOIN POWT_41KAA.ACTYPE Actype  ON  Laccount.ID_ACTYPE = Actype.ID_ACTYPE  INNER JOIN POWT_41KAA.CLIENT Client  ON  Laccount.ID_CLIENT = Client.ID_CLIENT ORDER BY Laccount.ACCOUNT_NUM  
    
  DBSetProp(ThisView,"View","SendUpdates",.T.)  
  DBSetProp(ThisView,"View","BatchUpdateCount",1)  
  DBSetProp(ThisView,"View","CompareMemo",.T.)  
  DBSetProp(ThisView,"View","FetchAsNeeded",.F.)  
  DBSetProp(ThisView,"View","FetchMemo",.T.)  
  DBSetProp(ThisView,"View","FetchSize",100)  
  DBSetProp(ThisView,"View","MaxRecords",-1)  
  DBSetProp(ThisView,"View","Prepared",.F.)  
  DBSetProp(ThisView,"View","ShareConnection",.F.)  
  DBSetProp(ThisView,"View","AllowSimultaneousFetch",.F.)  
  DBSetProp(ThisView,"View","UpdateType",1)  
  DBSetProp(ThisView,"View","UseMemoSize",255)  
  DBSetProp(ThisView,"View","Tables","POWT_41KAA.LACCOUNT,POWT_41KAA.ACTYPE,POWT_41KAA.CLIENT")  
  DBSetProp(ThisView,"View","WhereType",3)  
    
  DBSetProp(ThisView+".id_account","Field","DataType","N(20)")  
  DBSetProp(ThisView+".id_account","Field","UpdateName","POWT_41KAA.LACCOUNT.ID_ACCOUNT")  
  DBSetProp(ThisView+".id_account","Field","KeyField",.T.)  
  DBSetProp(ThisView+".id_account","Field","Updatable",.F.)  
    
  DBSetProp(ThisView+".money","Field","DataType","B(2)")  
  DBSetProp(ThisView+".money","Field","UpdateName","POWT_41KAA.LACCOUNT.MONEY")  
  DBSetProp(ThisView+".money","Field","KeyField",.F.)  
  DBSetProp(ThisView+".money","Field","Updatable",.T.)  
    
  DBSetProp(ThisView+".account_num","Field","DataType","B(2)")  
  DBSetProp(ThisView+".account_num","Field","UpdateName","POWT_41KAA.LACCOUNT.ACCOUNT_NUM")  
  DBSetProp(ThisView+".account_num","Field","KeyField",.F.)  
  DBSetProp(ThisView+".account_num","Field","Updatable",.T.)  
    
  DBSetProp(ThisView+".name","Field","DataType","C(100)")  
  DBSetProp(ThisView+".name","Field","UpdateName","POWT_41KAA.ACTYPE.NAME")  
  DBSetProp(ThisView+".name","Field","KeyField",.F.)  
  DBSetProp(ThisView+".name","Field","Updatable",.T.)  
    
  DBSetProp(ThisView+".fio","Field","DataType","C(100)")  
  DBSetProp(ThisView+".fio","Field","UpdateName","POWT_41KAA.CLIENT.FIO")  
  DBSetProp(ThisView+".fio","Field","KeyField",.F.)  
  DBSetProp(ThisView+".fio","Field","Updatable",.T.)  
    
  DBSetProp(ThisView+".id_client","Field","DataType","N(20)")  
  DBSetProp(ThisView+".id_client","Field","UpdateName","POWT_41KAA.LACCOUNT.ID_CLIENT")  
  DBSetProp(ThisView+".id_client","Field","KeyField",.F.)  
  DBSetProp(ThisView+".id_client","Field","Updatable",.T.)  
    
  DBSetProp(ThisView+".id_actype","Field","DataType","N(20)")  
  DBSetProp(ThisView+".id_actype","Field","UpdateName","POWT_41KAA.LACCOUNT.ID_ACTYPE")  
  DBSetProp(ThisView+".id_actype","Field","KeyField",.F.)  
  DBSetProp(ThisView+".id_actype","Field","Updatable",.T.)


PM MAIL ICQ Skype MSN   Вверх
Arks
Дата 22.9.2007, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 7.5.2006
Где: Барнаул

Репутация: нет
Всего: нет



Протупил жутко   smile 

Там просто не та форма вызвалась.))

Вопрос закрыт.
PM MAIL ICQ Skype MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Foxpro/Clipper/Dbase"
MoLeX

Запрещается!

1. Публиковать ссылки для чисто рекламных целей.

2. Оффтопить, флеймить, говорить не культурно.

Пожалуйста, адекватно задавайте свой вопрос. Тема должна создаваться с названием характеризующем Вашу проблему.

Задавайте вопросы правильно - как спросите, так вам и ответят.

Разрешено!

Давать ссылки на статьи, обзоры, если это не нарушает первый пункт правил.

Задавая вопрос, давайте нужную информацию касающуюся Вашей проблемы. Этим вы ускорите полезные ответы.

P.S. Размещение рекламы будет строго наказываться!



Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MoLeX

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Foxpro/Clipper/Dbase | Следующая тема »


 




[ Время генерации скрипта: 0.0376 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.