我一直在寻找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信息的标签需要填写酒店信息。我知道该怎么做标签。组合框正在工作。
非常感谢
答案 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