基于Combobox选择从Visual Basic 2010中的Access数据库访问行

时间:2013-09-05 05:40:06

标签: sql database vb.net row range

我一直在寻找3天,但我找不到我需要的东西。我生锈了,但我在一家管理I.T.的公司工作。对于酒店。我有一个访问数据库,其中包含一个包含HOTELNAME,Street,Zip,Phone等的列。

酒店名称填写了表格上的组合框。基本上,一旦用户从下拉列表中选择酒店,我希望其他行中的所有信息(与所选项目的行匹配)(例如位置信息和电话)填充一些LABELS但我似乎无法找到我需要什么代码的标签。

CODE: Public Class Newticket

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    Me.HotelsdbTableAdapter.Fill(Me.HotelsDataSet1.hotelsdb)

    Try
        Dim MyConnection As System.Data.OleDb.OleDbConnection
        Dim DtSet As System.Data.DataSet
        Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
        MyConnection = New System.Data.OleDb.OleDbConnection _
        ("provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\Users\David_2\Desktop 2\Skosh\hotelDB.xlsx'; Extended Properties=Excel 12.0;")
        MyCommand = New System.Data.OleDb.OleDbDataAdapter _
            ("select * from [Sheet1$]", MyConnection)
        MyCommand.TableMappings.Add("Table", "TestTable")
        DtSet = New System.Data.DataSet
        MyCommand.Fill(DtSet)

        ' cmbHotels.Items.Add = Sheet1$.Range("A1").Text

        MyConnection.Close()
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try



End Sub


Private Sub Newticket_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    FrmMain.Hide()

End Sub
Private Sub NewTicket_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed
    FrmMain.Show()
    Me.Close()

End Sub

Private Sub lblHotel_Click(sender As System.Object, e As System.EventArgs) Handles lblHotel.Click

End Sub

Private Sub Label1_Click(sender As System.Object, e As System.EventArgs) Handles lblPoc.Click

End Sub

Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged

End Sub

Private Sub Label7_Click(sender As System.Object, e As System.EventArgs) Handles Label7.Click

End Sub

Private Sub BindingSource1_CurrentChanged(sender As System.Object, e As System.EventArgs)

End Sub
Private Sub DataGridView1_CellContentClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs)

End Sub

Private Sub cmbHotels_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cmbHotels.SelectedIndexChanged




End Sub

Private Function Sheets(p1 As String) As Object
    Throw New NotImplementedException
End Function

Private Function Rows() As Object
    Throw New NotImplementedException
End Function

Private Function Sheet1() As Object
    Throw New NotImplementedException
End Function

Private Sub DataGridView1_CellContentClick_1(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs)

End Sub

Private Sub BindingSource1_CurrentChanged_1(sender As System.Object, e As System.EventArgs) Handles BindingSource1.CurrentChanged

End Sub

Private Sub FillByHotelToolStripButton_Click(sender As System.Object, e As System.EventArgs)
    Try
        Me.HotelsdbTableAdapter.FillByHotel(Me.HotelsDataSet1.hotelsdb)
    Catch ex As System.Exception
        System.Windows.Forms.MessageBox.Show(ex.Message)
    End Try

End Sub

基本上从组合框中选择一家酒店。右边的几个带有contat信息的标签需要填写酒店信息。我知道该怎么做标签。组合框正在工作。

非常感谢

1 个答案:

答案 0 :(得分:1)

基本上就是这样..

Private Sub cmbHotels_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cmbHotels.SelectedIndexChanged
If cmbHotels.SelectedIndex = -1 then exit sub

Dim sHotel As String = cmbHotels.Text
Dim dr As DataRow

MyCommand = New System.Data.OleDb.OleDbDataAdapter _
        ("select * from [Sheet1$] where HotelName = '" & sHotel & "'" ,MyConnection) 

DtSet = New System.Data.DataSet
MyCommand.Fill(DtSet)

dr = DtSet.Rows(0)

'fill your label now
lblStreet.Text = dr.item("Stree") '----- or whatever
'etc

End Sub