1

私は愚かにも VB を初めて使用します。dalv1すべての関数が格納されているクラス ( ) とメイン フォームがあります。

コードは次のとおりです。

Public Sub getCustomerDetails()

        Try
            Dim cust_dataTable As New DataTable()
            Dim Connection As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source = C:\Users\Public\Documents\VP - A1\Database\Database.mdb"
            Dim SQL As String = ("SELECT * FROM tblCustomers")
            Dim dataAdapter As New OleDbDataAdapter(SQL, Connection)
            dataAdapter.Fill(cust_dataTable)
            dataAdapter.Dispose()

        Catch ex As Exception
            MsgBox("ERROR : " & ex.Message.ToString)
        End Try

End Sub

DataTable をメイン フォームに渡したいcust_dataTableので、フォームが読み込まれたときにテキスト ボックスに入力できるようにします。

4

1 に答える 1

2

テーブルが呼び出し元に返されるように、それを関数に変換する必要があります。

Public Function getCustomerDetails() As DataTable
  Dim cust_dataTable As New DataTable()
  Try
    Dim Connection As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source = C:\Users\Public\Documents\VP - A1\Database\Database.mdb"
    Dim SQL As String = ("SELECT * FROM tblCustomers")
    Dim dataAdapter As New OleDbDataAdapter(SQL, Connection)
    dataAdapter.Fill(cust_dataTable)
    dataAdapter.Dispose()        
  Catch ex As Exception
    MsgBox("ERROR : " & ex.Message.ToString)
  End Try

  Return cust_dataTable
End Function

フォームのコードを共有していませんが、フォームの呼び出し方法の例を次に示します。

Private da As New dalv1
Private _MyDataTable As DataTable

Protected Overrides Sub OnLoad(ByVal e As EventArgs)
  MyBase.OnLoad(e)
  _MyDataTable = da.getCustomerDetails
End Sub
于 2012-11-05T20:46:44.817 に答える