2016-11-23 3 views
-1

私はemp-idこれらのテーブルをリンクすると、クエリブラウザから競合として私にエラーを投げている値私はどのように2つのテーブルをリンクし、進行中の値を得ることができます4gl

define variable c as integer. 
define query q1 for customer,order SCROLLING. 


INPUT FROM Value ("C:\src\New folder\cnum.txt"). 


IMPORT c. 


open query q1 for each employee where employee.emp-id=c , 
each order where (order.emp-id = employee.emp-id). 

は、あなたがする必要がある

+0

コードで3番目の表「customer」を使用しているようですが、それはどのようにフィットするのですか? – Jensd

+0

あなたの質問にはあなたが受け入れた回答は記載されていません。本当に必要なものを反映するように編集する必要があります。 –

答えて

0

あなたは従業員IDを取得しようとしている場合テキストファイルから、これはそれを行う必要があります。ファイルの各行のIDを読み取り、従業員レコードを見つけて注文情報を表示します。

DEFINE VARIABLE c AS INTEGER NO-UNDO. 

INPUT FROM VALUE("C:\src\New folder\cnum.txt"). 

REPEAT: 
    IMPORT c. 

    FIND FIRST Employee WHERE Employee.Emp-ID = c NO-LOCK NO-ERROR. 
    IF NOT AVAILABLE(Employee) THEN 
    DO: 
     MESSAGE "Cannot find employee with ID " c VIEW-AS ALERT-BOX ERROR. 
     NEXT. 
    END. 

    FOR EACH Order NO-LOCK WHERE Order.Emp-ID = Employee.Emp-ID: 
     DISPLAY 
      Employee.Emp-Name 
      Employee.Emp-Ph 
      Order.Order-Num. 
    END. 
END. 

INPUT CLOSE. 
0

を使用します注文table.howからフォーム従業員表を、注文-NUM両方のテーブルのクエリを定義します。

DEFINE QUERY q1 FOR Customer, Order SCROLLING. 
+0

ありがとうございますが、依然としてorder-numはクエリで使用されていないため、値を取得できません。注文番号を取得するのを助けてください、私は顧客テーブルを従業員テーブルに置き換えることによってコードを書き直しましたか? – sri

0

あなたの要件は、顧客テーブルを言及していないも、私はあなたが必要なことを言うことに注力していきますので、あなたは、ファイルからの入力を必要としない:

for each employee no-lock, 
    each order no-lock where order.emp-id = employee.emp-id: 

    display employee.name employee.emp-ph order.order-num. 

end. 
関連する問題