2012-04-04 5 views
2

FOR EACH 루프 내에서 일련의 변수에 값을 할당하려고하지만 "유형 불일치"오류가 계속 발생합니다.기존 ASP FOR EACH 루프에서 값을 동적으로 할당

personOrder = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15" 'order items displayed onscreen 

personArray = split(personOrder, ",") 

For each i in personArray 
    imageArray(i) = objContentXML.selectSingleNode("/page/profile" & i & "/image").text 
Next 

참고 : 향후 항목에서 주문이 변경 될 수 있으므로 var personOrder를 목록으로 만들었습니다.

FOR 루프마다 배열 값을 할당하는 데 문제가 있다고 생각합니다. Annoyingly 그것은 FOR 루프에서 잘 작동하지만 미래에 내 코드를 증명하려고합니다.

이 질문이 너무 어리석은 경우 사과드립니다. 나는 기저귀 9 개월 후에 돌아오고 코드 세계에 버핑합니다 (작은 기저귀, 더 트림).

+1

그런데 '', ''과 같은 노드 이름을 사용하지 마십시오. 이것은 XML에 대한 가난한 형태입니다. 번호 접미사는 데이터의 일부입니다. 대신에''및''를 사용하십시오. 선택한 xpath는''/ page/profile [@ ID = "" "& i &" ""]/image "가됩니다. – AnthonyWJones

답변

4

어떤 오류가 발생합니까? 나는 어떤 오류 메시지없이 다음 코드를 실행할 수 있습니다

personOrder = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15" 'order items displayed onscreen 

personArray = split(personOrder, ",") 

dim imageArray 
redim imageArray(uBound(personArray) + 1) 

For each i in personArray 
    imageArray(i) = i 
Next 

먼저 배열을 만들고 (크기를 변경하려면 사용 ReDim을)를 그 안에 넣어 할 항목의 수를 선언해야합니다.

테스트 목적으로 objectContentXML을 간단한 문으로 대체했습니다.

+0

아 감사합니다. 내가 질문을 게시 한 직후 배열을 만들 필요가 있었지만 현재'dim imagArray (uBound (personArray) + 1)'줄에서 "예상 된 정수 상수"오류와 싸우고 있습니다. 했습니다. 또한 배열의 위치가 잘못 설정 되었기 때문에 코드를 약간 편집했습니다. personArray 각 I 들어 'X = 1 imageArray (X) = 제가 X = X + 1 Next' – katebp

+1

다음 시도 : imageArray' 희미한'및 다음 후엔 ') imageArray (UBound 함수 (personArray을 REDIM + 1)'. 오류를 재현 할 수는 없지만 오류 (1 + 2)의 결과가 아닌 상수 (1,2,3,4 등)가 필요하다는 오류가 발생합니다. –

+0

완벽한! 감사. – katebp

관련 문제