Powerbuilder - если значение равно нулю, то идентификатор учетной записи в таблице базы данных изменится на 0 - PullRequest
0 голосов
/ 10 июня 2018

в настоящее время у меня есть столбец profile.acct_no в окне данных, где пользователь выбирает учетную запись клиента из всплывающего списка.Теперь проблема в том, что пользователь не может очистить предыдущую уже выбранную учетную запись, он всегда показывает выбранную учетную запись, если вы не выбрали другую учетную запись.Пользователь может очистить поле столбца и нажать кнопку «Сохранить», но когда он вернется, чтобы просмотреть его, учетная запись снова отобразится.

Теперь из базы данных все выбранные идентификаторы учетной записи регистрируются в вызове таблицы interco.acct_id , что мне нужно сделать, это закодировать событие, измененное, где, если столбец profile.acct_no равен нулю, тогда он очистит учетную записьидентификатор из таблицы interco.acct_id до 0.

То, что я уже делаю, - это код бизнес-правила невизуального объекта для окна данных при событии ue_itemchanged_acct_no вернуть нет :

string s_value

s_value = invo_tm.uf_getcolumnstring (istr_vldmsg.l_row, istr_vldmsg.s_column)

если isnull (s_value) или trim (s_value) = '' тогда invo_tm.uf_setcolumn (istr_vldmsg.l_row, is_dirulealias + '.acct_id', 0)

заканчивается, если

Проблема в том, что учетная запись все еще отображается, а идентификатор не изменится на 0. Может кто-нибудь помочь и посоветовать?Очень признателен.Благодаря.

1 Ответ

0 голосов
/ 13 июля 2018

Я бы проверил несколько вещей.

  • Проверьте свойства обновления для вашего окна данных.interco.acct_id должен быть обновляемым.

  • Если interco и profile оба находятся в одном и том же окне данных, вам нужно будет проделать некоторую сложную работуобновить обе таблицы.Прочтите эту замечательную статью Рика Шульца о Службе многостоловых обновлений PFC DataWindow здесь https://pbbraindump.wordpress.com/2008/07/02/pfc-datawindow-multi-table-update-service/

  • Кроме того, если interco.acct_id или профиль.acct_no уникальны в базе данных, поэтому вы не сможете успешно изменить несколько записей на 0.

...