2016-11-28 42 views
0

接受客戶編號,然後將每個訂單和項目的詳細信息輸出到編輯器小部件。 在編輯器小部件(編輯器1作爲對象名稱)中顯示它們。在數據庫中搜索後,如何使用進度在編輯器小部件中顯示結果字段值4gl

define temp-table ttcustomer 
field custnum like customer.cust-num 
field cname like customer.name 
field orders like order.order-num 
field items like item.item-num 
field itemname like item.item-name . 


find first customer WHERE customer.cust-num = input f1 NO-LOCK . 

create ttcustomer . 

    assign 
    ttcustomer.custnum = customer.cust-num 
    ttcustomer.cname  = customer.name. 



for each order WHERE Order.cust-num = input f1 NO-LOCK . 

    assign 
    ttcustomer.orders = order.order-num. 

    for each order-line where order-line.order-num = order.order-num no-lock. 


    for each item where item.item-num = order-line.item-num no-lock. 

    assign 
    ttcustomer.items = item.item-num 
    ttcustomer.itemname = item.item-name. 
    end. 
    end. 
end. 

回答

0

我不知道爲什麼你想要在編輯器上顯示。所以我假設你想把你在每個循環中收集的信息連接到一個編輯器中。 所以最後結束後,你可以這樣做:

define variable editor-1 as character view-as editor. 
for each ttcustomer: 
    assign editor-1 = editor-1 + ttcustomer.items + ' ' + ttcustomer.itemname + chr(13). 
end. 
display editor-1. 

如果CHR(13)不工作,跳行,嘗試CHR(10)。 PS:編輯器實際上可能不是您想要顯示的小部件。我會使用瀏覽。但是因爲這個問題要求編輯,在那裏。 PS2:你沒有分配放在臨時表上的其他字段,所以我沒有顯示它們。但只是將它們添加到上面的賦值行中,不要忘記空格,破折號或任何想用作分隔符的內容。

+0

我嘗試使用您告訴的代碼,但由於無法更新ttcustomer表而導致錯誤,因爲我只是想分配。 – sri

+0

我正在重新閱讀你的代碼。您需要了解Progress語法和命令的工作原理,才能做到這一點。 首先,您創建的頂級tt客戶創建一條記錄。您在每個訂單循環中的所有後續分配都將覆蓋您以前的任何值。同樣的項目,無論你在循環中騎自行車的人數多少,你最終都會得到一個記錄。 研究一下關於臨時表,然後連接信息。如果可能的話,遵循一些教程或正式培訓,它會幫助你很多。 – bupereira

+0

謝謝@bupereira :) – sri

相關問題