2011-10-12 4 views
2

행 형식으로 쉼표로 구분 된 문자열로 전달되는 값 목록 (db의 레코드 집합이 아님)이있는 액세스 폼에 3 개의 열이있는 목록 상자가 있습니다. 세 번째 열은 숫자 값이며, 세 번째 열의 목록 상자 desc를 정렬하려고합니다.값 목록을 기반으로 한 액세스 목록 상자 - 열 정렬

행 원본은 다음과 같습니다

0,Standard price,1650, 
14,Bookings made during Oct 2011,3770, 
15,Minimum Stay 4 Nights - Special Price,2460 

목록 상자가 제대로 웁니다. 이 경우 세 번째 열에 따라 목록 상자를 정렬하는 방법을 알지 못합니다. 어떤 아이디어? 연결이 끊긴 된 레코드를 사용하여

답변

1

매우 거친 아이디어 : 완벽하게 작동

Dim rs As New ADODB.Recordset 

slist = "0,Standard price,1650," _ 
& "14,Bookings made during Oct 2011,3770," _ 
& "15,Minimum Stay 4 Nights - Special Price,2460" 

With rs 
    .ActiveConnection = Nothing 
    .CursorLocation = adUseClient 
    .CursorType = adOpenStatic 
    .LockType = adLockBatchOptimistic 
    With .Fields 
    .Append "Field1", adInteger 
    .Append "Field2", adVarChar, 200 
    .Append "Field3", adInteger 
    End With 
    .Open 


    ary = Split(slist, ",") 

    For j = 0 To UBound(ary) 
     .AddNew 
     For i = 0 To 2 
      .Fields(i).Value = ary(j) 
      j = j + 1 
     Next 
     j = j - 1 

    Next 

    .Sort = "Field3" 
End With 

slist = rs.GetString(, , ",", ",") 
slist = Left(slist, Len(slist) - 1) 
+0

와우,. 나는 내가하려는 일을 정확하게 달성하기 위해 코드를 사용할 수있었습니다. 감사 – Istari

관련 문제