0
我有一个处理oledb的小问题。 我有两个Excel表格: 一个包括系统和企业负责人vb2010 oledb select where select results
[person1|system1]
[person1|system2]
[person1|system3]
[person2|system4]
[person2|system5]
...
约
[system1|location|weight|height]
[system2|location|weight|height]
...
现在我希望能够选择一个人写的系统信息的系统的另一个信息(为这个人的系统)到一个datagridview
旁路:我不能改变表格,因为我从其他地方得到它们。
我迄今为止代码:
Using cn As New System.Data.OleDb.OleDbConnection
Dim Builder As New OleDbConnectionStringBuilder With _
{ _
.DataSource = "reports\PM.xlsx", _
.Provider = "Microsoft.ACE.OLEDB.12.0" _
}
Builder.Add("Extended Properties", "Excel 12.0;")
cn.ConnectionString = Builder.ConnectionString
cn.Open()
Using cmd As OleDbCommand = New OleDbCommand With {.Connection = cn}
cmd.CommandText = "SELECT F2 AS system FROM [table1$] WHERE F1 ='" & ComboBox2.SelectedItem & "'"
Dim dr As System.Data.IDataReader = cmd.ExecuteReader
dtSheet1.Load(dr)
DataGridView1.DataSource = dtSheet1
End Using
End Using
Thatworks完美到目前为止,我收到在DataGridView所有系统的名称,但我不知道如何从其他表与来自第一结果中进行选择。 我需要类似
SELECT F2 AS location, F3 AS weight, F4 AS hight FROM [table2$] WHERE F1 =ONE OF THE RESULTS FROM THE QUERY ABOVE'"
在此先感谢,我真的很感谢您的帮助!
你是问你如何加入两个表,所以你可以得到所有的ComboBox2.SelectedItem系统信息?还是你问如何根据选定的人员记录获取系统信息? – Steve 2014-09-30 20:14:11
对不起,我的英语不太好。最后,您应该能够选择一个人,并且datagridview应该显示来自该人的信息的所有系统。 – 2014-09-30 20:32:12
那么具体的问题是什么?如何把人放在网格中?如何从网格中获取选定的人员?或者,如何根据某人选择系统信息表中的数据? – Steve 2014-09-30 20:41:44