2016-11-23 1 views
-1

나는 두 테이블의 직원 및 주문, 어디에 emp - ID (필드)로 공통점이 두 tables.i emp 이름과 emp - ph를 얻을 필요가 주문 table.how에서 폼 직원 테이블 및 주문-NUM은이 테이블을 연결 값어떻게 내가 두 테이블을 연결하고 진행중인 값을 얻을 수 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

코드에 세 번째 테이블 "고객"이 사용 된 것 같습니다. 그것이 어떻게 들어 맞습니까? – 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

당신은 필요를 얻을 수 두 테이블에 대한 쿼리를 정의하십시오.

DEFINE QUERY q1 FOR Customer, Order SCROLLING. 
+0

고맙지 만 여전히 order-num 이후 쿼리에서 값을 가져올 수 없습니다. 주문 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. 
관련 문제