2017-10-23 1 views
0

SSDBGrid에있는 모든 선택된 행을 반복해야합니다. 그런 다음 현재 행의 값을 가져 와서 배열의 관련 위치에이 값으로 채워야합니다. "??"SSDBGrid의 선택된 행 전체를 반복하여 배열 채우기

Dim i As Integer 
i = 0 

Dim nomCode(Grd_Nominal.SelBookmarks.Count) As String ' This is my array. 

Do While Grd_Nominal.SelBookmarks <> 0 
    nomCode(i) = Grd_Nominal.SelBookmarks(0) 

    If Grd_Nominal.SelBookmarks.Count > 0 Then 
     Grd_Nominal.SelBoomarks(0).Remove 
    End If 

    i = i + 1 
Loop 

그러나, nomCode(i) 항상 nomCode(i) = "??"

왜이 삽입 될 때 작성되고 있으며, 어떻게 할 수 있습니다

나는 아래의 코드로이 작업을 수행하려고 시도했습니다 이것을 수정하여 현재 행의 값을 삽입 하시겠습니까?

+0

?? 문자 인코딩과 관련된 문제가 있음을 나타낼 수 있습니다. – DaveInCaz

답변

0

먼저 배열을 어떻게 선언하는지 다시 생각해 봐야합니다. 배열을 선언 할 때 길이 상수를 전달해야하기 때문에

Dim nomCode() As String 
ReDim nomCode(Grd_Nominal.SelBookmarks.Count - 1) As String 

입니다. ReDim이 아니라면 문제를 부분적으로 해결할 수 있습니다.

Dim x As Integer 
Dim bk As Variant 

For x = 0 to Grd_Nominal.Rows.Count - 1 
    bm = Grd_Nominal.SelBookmarks(x) 
    nomCode(x) = Grd_Nominal.Columns("Your_Column").CellValue(bm) 
Next 

나머지 문제를 정리해야한다고 생각합니다.