使用SQL语句查询表并将结果获取到另一个表

在VBA中,我想使用SQL语句查询一个Excel表格,并将结果获取到另一个Excel表格。 我需要一些方向去阅读,因为我很困惑。 对不起,我在一个职位上提出了许多不同的问题,但是这些问题涉及到一个主题。

  • 源表。 我应该如何知道源数据是查询表还是ListObject表(如果调用ListObjects表不是合适的话,请原谅我)。 QueryTables和ListObjects表有什么区别? 这个解释并没有解释清楚。

  • 如何获得适当的连接string到现有的表(不pipe它是一个QueryTable或ListObject表)?

  • 使用ADO做这项工作有什么好处? 如果我用ADO得到这个想法,我们在Excel中与源表build立自我联系(纠正我,如果我错了)。 这个将Excel 2010中的查询表(QueryTables)与VBA结合起来,用VBA创build了许多连接 ,这表明ADO并不是必须的,而这一点则认为使用它是很好的: http : //itknowledgeexchange.techtarget.com/beyond-excel/say-再见到querytables /

下面的代码(从这里抓取)看起来简单而有保证:

Sub idee() ActiveWorkbook.Sheets.Add With ActiveSheet.QueryTables.Add(“ODBC;DSN=Excel-bestanden;DBQ=E:TheDatabook.xls”,[H1]) .CommandText = “SELECT name, number FROM TheData WHERE number =1″ .Refresh False End With End Sub 

不过,我想使用适当的连接string(replace: ODBC;DSN=Excel-bestanden;DBQ=E:TheDatabook.xls ),并用QueryTable或ListObject表replace命名的范围TheData,我想获得输出到QueryTable或ListObject表。