VBA EXCEL 中的 SQL - 比较同一个表中的行

问题描述 投票:0回答:1

我想将 INPUT 表中的数据插入到 OUTPUT 表中。 INPUT 和 OUTPUT 都有这些列:名称、1H、2H、3H、4H、5H、6H。 INPUT 中的数据具有层次结构。从 INPUT 进入 OUTPUT 是层次结构中的姓氏。

您能建议正确的 SQL 命令吗?我正在使用 excel - vba,这似乎不是 LAG 和 LEAD。我尝试了 UNION (ALL) 但没有成功

enter image description here

sql excel vba compare
1个回答
0
投票

试试这个,在哪里;

  • 输入表在工作表上
    INPUT
  • 输出表将在工作表上创建
    OUTPUT
  • 在 Excel 2010(64 位)上编写和测试的代码

enter image description here

Sub Test()
    Dim objADO As Object, strSQL As String, RS As Object
    
    Sheets("OUTPUT").Range("A3:G" & Rows.Count) = ""
    
    Set objADO = CreateObject("AdoDb.Connection")
    
    objADO.Open "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties='Excel 12.0;HDR=No'"
          
    strSQL = "Select F1, F2, F3, F4, F5, F6, F7 From [INPUT$A3:H] Where F8= 'YES'"
    
    Set RS = objADO.Execute(strSQL)
    
    Sheets("OUTPUT").Range("A3").CopyFromRecordset RS
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.