2013-01-01 1 views
0

도움이 필요합니다. 나는 학생이고 나의 회계 수업 프로젝트를 위해 VB.Net 프로그램을하고있다. 자, OleDB을 사용하는 것에 대한 지식이 거의 없으므로 도와주세요. 콤보 상자 선택을 사용하여 MS 액세스 테이블 표시

  1. 이 (OleDB)
  2. 데이터베이스 테이블이 tbl_login, tbl_product, tbl_transaction
  3. 양식입니다 Form1, Form2 1 Module
  4. ComboBox 값은 UsersMS ACCESS 2007 데이터베이스를

    되어 있습니다입니다 : 여기

    은 세부 사항입니다 , Product, Transaction
  5. 언어로 VB

입니다 내가 로그 - 인 형태 (Form 1)이 표시되며 사용자 이름과 암호를 필요로하는 프로그램을 실행합니다. 사용자가 자신의 사용자 이름과 암호를 제출하면 프로그램은 tbl_login이라는 데이터베이스 테이블에서 일치하는지 확인합니다. 일치하면 다음 양식 (Form 2)으로 진행하십시오. 여기에는 ListViewComboBox이 있습니다. 로드 될 때 목록보기의 기본 내용은 tbl_login의 내용이고 콤보 상자 값은 Users입니다.

지금, 내가 할 수있는 내 프로그램은 내가 Products에 콤보 상자의 값을 변경하는 경우, 목록보기 항목은 콤보 상자 값이 transaction 때, tbl_transaction 내용이 listview에 나타납니다 tbl_products과의 내용이 될 것입니다 무엇을 할 수 있습니다.

어떻게 작성하나요?

정말 감사드립니다. 감사.

답변

0

VB.NET 버전을 지정하지 않았으므로 .NET 4.0 런타임을 가정합니다. 콤보 박스 이벤트, 컨트롤의 DataSource 속성에 대해 읽어 보시기 바랍니다. SelectedValue를 선택하고 tbl_transaction 테이블을 쿼리하고 ListView의 DatSource 속성을 할당하려면 코드를 콤보 상자의 SelectionChanged 이벤트에 두어야합니다. 나는 네가 숙제를 위해 일해야하는 것처럼 나는 더 첨가해야한다고 생각하지 않는다.

+0

내가있어 내 질문에 대한 대답. 도움을 주신 Raj에게 감사드립니다. 정말 감사. :) 나중에 내 코드를 게시 할 것입니다. –

0

해결! 방금 일부 영역을 실험했는데 정확히 어떤 문제가 해결되었는지 알지 못합니다. :) 첫째, 내 테이블의 모든 데이터 형식을 Numbers에서 Text로 변경했습니다. 둘째, form2_load 및 combobox_selectedindexchanged에서 일부 코드를 수정했습니다.

하기 전에 다음

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    con.ConnectionString = "provider=microsoft.ace.oledb.12.0;data source = ..\Accounting2.accdb" 
    con.Open() 
    ComboBox1.SelectedIndex = 0 
    sSqlUser = "SELECT df, sdf, asdf FROM tbl_login ORDER BY df" 
    sSqlProduct = "SELECT cv, xcv, zxcv FROM tbl_product ORDER BY cv" 
    sSqlTransaction = "SELECT rt, ert, wert, qwert FROM tbl_transaction ORDER BY rt" 
    sSql = sSqlUser 
    Call FillList() 
    Dim dt As New DataTable 
End Sub 

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged 
    If ComboBox1.SelectedIndex = 0 Then 
     sSql = sSqlUser 

    ElseIf ComboBox1.SelectedIndex = 1 Then 
     sSql = sSqlProduct 

    ElseIf ComboBox1.SelectedIndex = 2 Then 
     sSql = sSqlTransaction 

    End If 
End Sub 

:

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    con.ConnectionString = "provider=microsoft.ace.oledb.12.0;data source = ..\Accounting2.accdb" 
    con.Open() 

    sSqlUser = "SELECT df, sdf, asdf FROM tbl_login ORDER BY df" 
    sSqlProduct = "SELECT cv, xcv, zxcv FROM tbl_product ORDER BY cv" 
    sSqlTransaction = "SELECT rt, ert, wert, qwert FROM tbl_transaction ORDER BY rt" 
    ComboBox1.SelectedIndex = 0 
End Sub 

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged 
    If ComboBox1.SelectedIndex = 0 Then 
     sSql = sSqlUser 

    ElseIf ComboBox1.SelectedIndex = 1 Then 
     sSql = sSqlProduct 

    ElseIf ComboBox1.SelectedIndex = 2 Then 
     sSql = sSqlTransaction 

    End If 
    Call FillList() 
    Dim dt As New DataTable 
End Sub 
관련 문제