2015-11-06 55 views
1

在瀏覽內的值更改期間,我的字符串值突然更改,具體而言,字符串(9)將更改爲字符串(0)。瀏覽值更改期間字符串值突然變化

樣品:

在我的組合框中,我使用的列表項配對與以下代碼:

cb-name:LIST-ITEM-PAIRS = ?. 
cb-name:DELIMITER = '?'. 
FOR EACH employee WHERE employee.date-resigned = ? NO-LOCK BY employee.employee-no. 
    cb-name:ADD-LAST(TRIM(STRING(employee.employee-no, '99999999') + " - " + employee.last-name + ", " + employee.first-name + " " + SUBSTRING(employee.middle-name,1,1)) + ".",employee.employee-no). 
END. 
cb-name:SCREEN-VALUE = cb-name:ENTRY(1). 

在值改變的瀏覽的:

ASSIGN cb-name:SCREEN-VALUE = 
STRING(TRIM(STRING(employee.employee-no, '99999999') + " - " + employee.last-name + ", " + employee.first-name + " " + SUBSTRING(employee.middle-name,1,1)) + "." , 
     STRING(employee.employee-no, '99999999')). 

如果員工no的字符串值爲9,則進度會將其更改爲0 ..以生成具有無效值的錯誤消息。

ex: from 819001 /*correct*/ to 810001 /*incorrect*/ 

如果沒有字符串(9),會顯示如下:818002

如果我消息STRING(employee.employee-沒有, '99999999')),它將顯示正確的字符串值

+0

什麼版本的OE? – Jensd

+0

9.1E我相信.. – noob

+0

聽起來很奇怪,9.1是成熟/古老的。如果出現錯誤,應通過知道知道。也許還有其他事情發生?你能發佈更多的代碼嗎? – Jensd

回答

1

顯然,在這種情況下版本並不重要。我剛剛在10.2B08中使用帶有指定表的臨時表進行了仿真。問題是,當您將屏幕值分配給要嘗試將整個字符串(employee-no + names + separators)轉換爲99999999格式的組合。由於您的組合是列表項對 ('無論我希望它顯示','真實值', '等等顯示','等等值') 您的解決方案是將屏幕值分配給實際值,忽略標籤。換句話說,只要將您的價值改變代碼更改爲

ASSIGN cb-name:SCREEN-VALUE = STRING(employee.employee-no, '99999999') . 

它對我很有用。如果您仍然遇到問題,請告訴我。

+0

謝謝@ bupereira ..是的,它只是使用字符串值..沒有標籤再次感謝 – noob