<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />여러분 안녕하세요,
동적 콤보 상자에서 두 가지 선택 항목을 기반으로 하위 집합을 만드는 스크립트를 작성하려고합니다. 내 변수가 선택 될 때 대화 상자 부분이 좋은 것처럼 보이지만 하위 집합의 실제 생성이 작동하지 않습니다.
/ * 열려있는 데이터베이스 부분을 일시적으로 제거합니다 * /
clearGlobals () :
ER_Temp = 열기 ( "C : \ Users \ Kilik \ Desktop \ Tbl_RIE_ERS.jmp");
/ * 세트 "a"의 고유 필름 목록 및 세트 "b"의 고유 도구 추출 * /
요약 (a = By (: Film));
삽입 (a, "", 1);
요약 (b = 작성자 (: 도구));
삽입 (b, "<도구 선택>", 1);
/ * 대화 상자 만들기 * /
새 창 ( "예",
<< 모달,
H 목록 상자 (
/ * 필름을 선택할 상자를 만듭니다. * /
패널 박스 ( "Select a Film :",
cb1 = 콤보 상자 (
에이,
<< SetFunction (
기능 ({this},
myFilm = this << Get Selected ();
)
)
)
),
/ * 도구를 선택할 상자를 만듭니다. * /
패널 박스 ( "도구 선택 :",
cb2 = 콤보 상자 (
비,
<< SetFunction (
기능 ({this},
myTool = this << Get Selected ();
)
)
)
),
)
);
// 두 선택 항목을 기반으로 하위 집합을 만듭니다.
ER_Temp << clearRowStates;
ER_Temp << selectWhere ((: Film == myFilm) & (: Tool == myTool));
선택 = ER_Temp << 부분 집합 (출력 테이블 이름 ( "선택")));
감사,
데이비드
안녕 데이비드.
이 예제에서 myFilm과 myTool은 모두 문자열입니다. Select Where가 쓰여지는 경우 : Film 또는 : Tool이 숫자 열인 경우 숫자 열이 문자열 값을 가질 수 없으므로 행이 선택되지 않습니다. Num () 함수는 문자열 (예 : "12")로 표시된 숫자를 숫자 값으로 변환합니다.
고려해야 할 또 다른 사항은 새 창에서 선택한 항목의 데이터에 일치하는 값이 없을 수도 있습니다. 사용자는 다음과 같은 고유 한 값을 모두 표시합니다. 필름 및 고유 한 값 : 도구. 그러나 모든 값에 해당하는 것은 아닙니다. 모든 값의 필름 : 도구는 데이터에 표시됩니다. Select Where () 문은 두 조건이 모두 해당되는 행만 선택합니다.
희망이 도움이됩니다.
웬디
하위 집합 문에 여분의 괄호가 있습니다. 또한 변수와 테이블의 이름이 같은 것을 피할 수 있습니다. 그것을 다음으로 변경하십시오 :
Select_dt = ER_Temp << 부분 집합 ( 출력 테이블 이름 ( "선택" ) , 선택된 행 ( 1 )) ;