2012-08-08 6 views
1

현재 작업을 위해 작업중인 프로젝트의 MDB 데이터베이스에서 VB.Net 양식의 드롭 상자를 채우려고합니다.VB.Net 2010 - MDB 액세스 데이터베이스에서 ComboBox 채우기

"cancmov"라는 데이터베이스에 "Months"라는 테이블이 있으며, 내가 가져 오려고하는 필드를 MoveMonth라고합니다.

내가 사용하고있는 현재의 코드는 다음과 같습니다 - 당신은 아마 위의에서 수집 할 수 있습니다으로

Private Sub drpMovedFrom_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles drpMovedFrom.SelectedIndexChanged 


    Dim ConnnectionString As String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Admin\Desktop\CancellationsAndMovements\CancellationsandMovements\cancmov.mdb" 
    Dim db As String = "SELECT MoveMonth FROM Months" 
    Dim cn As New OleDbConnection(ConnnectionString) 
    Dim da As New OleDbDataAdapter(db, cn) 
    Dim ds As New DataSet() 

    da.Fill(ds, "MoveMonth") 

    With drpMovedFrom 
     .DataSource = ds.Tables("MoveMonth") 
     .SelectedIndex = 0 
    End With 

End Sub 

, 내가 그렇게 위의 많은 내가 얻기 위해 노력하고, 학습의 과정에 나는 내 주위에 머리. 실제로 Google에서 찾은 비슷한 질문에서 위의 코드를 가져 왔습니다. 어떤 도움이라도 크게 평가 될 것입니다. 비록 제가 스스로를 위해이 일을 배울 수있는 자원을 가르키기만한다면.

미리 감사드립니다. 바로 박쥐

+0

현재 버전의 문제점은 무엇입니까? –

답변

4

몇 가지 :

당신은이 코드를 호출 할 때 인덱스 변경 드롭 다운. 아마 당신이 원하는대로하지 않을 것입니다. 항상 0으로 되돌릴 것입니다.

또한, 브래킷을 사용하여 귀하의 일회용 객체를 둘러싸는 시도 :

Private ds As New DataSet() 
Private ConnnectionString As String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Admin\Desktop\CancellationsAndMovements\CancellationsandMovements\cancmov.mdb" 

Protected Overrides Sub OnLoad(e As EventArgs) 
    Dim db As String = "SELECT MoveMonth FROM Months" 

    Using cn As New OleDbConnection(ConnnectionString) 
    Using da As New OleDbDataAdapter(db, cn) 
     da.Fill(ds, "MoveMonth") 
    End Using 
    End Using 

    With drpMovedFrom 
     .DisplayMember = "MoveMonth" 
     .DataSource = ds.Tables("MoveMonth") 
     .SelectedIndex = 0 
    End With 

    MyBase.OnLoad(e) 
End Sub 

는 또한, 콤보 당신이 당신의 데이터 소스에 매핑 DisplayMember 및 ValueMember 속성이 있습니다. DisplayMember는 목록에 표시되는 값이고, ValueMember는 일반적으로 visible 속성의 ID 값입니다.

+0

너 내 친구 야, 신사 야. 학자 야! 이것은 완벽하게 작동합니다. 콤보 상자에서 직접 호출 할 수있는 하위 위치로 이동하라는 제안을 받았습니다. 고마워, 방금 해결 한이 프로그램에 얼마나 많은 미래의 문제가 있는지 알지 못한다. – user1585769

관련 문제