我想在我的数据集中迭代一行。如果行的第一个单元格是模式1234-Name
,那么我想从中删除数字(1234)并将其保存为变量。基本上,第一个单元格是员工及其编号,如1234-Bob McDonald
。如果它不是那种形式,那么我想忽略它并移动到下一行。
然后我想在同一行中逐个单元格,以及单元格中的任何内容,将其保存到另一个变量(第2列是位置,第3列是工作小时数等)
这是我到目前为止的代码:
Public Function ReadXLFile(ByVal FileName As String) As DataSet
Dim MyConnection As System.Data.OleDb.OleDbConnection
Dim Ds As System.Data.DataSet
Dim MyAdapter As System.Data.OleDb.OleDbDataAdapter
MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName & "Extended Properties=Excel 16.0;")
MyAdapter = New System.Data.OleDb.OleDbDataAdapter("Select * from [Sheet1$]", MyConnection)
Ds = New System.Data.DataSet
MyAdapter.Fill(Ds)
Return Ds
End Function
答案 0 :(得分:0)
这个怎么样?
WITH pivot_cte
(
id,
query_a,
query_b
)
AS
-- Define the CTE query.
(
SELECT *
FROM (
SELECT Id, a query_a,
b query_b
FROM table3 ) table3 PIVOT ( Max(response) FOR query IN ([a],
[b]) ) piv;)
SELECT *
FROM pivot_cte
JOIN table1
ON table1.id=pivot_cte.id
JOIN table2
ON table2.id=pivot_cte.id