4

次のタイプのコードを使用して、いくつかの Excel ブックからデータを取得します (パスはパラメーターです)

Dim strSQL  As String, conStr as String
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset


conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & path & "';" & _
             "Extended Properties=""Excel 12.0;HDR=YES;IMEX=1;"";"

strSQL = "SELECT [Field1], [Field2] FROM [Worksheet$] WHERE [Thing1] > 1"

cnn.open conStr   
rs.Open query, cnn, adOpenStatic, adLockOptimistic, adCmdText

フィールドの名前がワークシートの最初の行にある場合、そのコードは正常に機能します。問題は、データ テーブルが別の行 (行 10) で始まるワークシートからデータを取得する必要があることです。

データ テーブルの最初の行を指定する方法はありますか?

4

3 に答える 3

5

このマイクロソフトのページを参照してください。次のようなものを使用できます。

strSQL = "SELECT [Field1], [Field2] FROM [Worksheet$$A10:B43] WHERE [Thing1] > 1"
于 2012-10-19T17:56:09.907 に答える
4

クエリで名前付きまたは名前なしの範囲を使用します。

strQuery = "SELECT * FROM MyRange"

strQuery = "SELECT * FROM [Sheet1$A1:B10]"

詳細については、次の Microsoft サポート記事を参照してください。

Visual Basic または VBA からの Excel データで ADO を使用する方法

ExcelADO は、ADO を使用して Excel ブックのデータを読み書きする方法を示します。

于 2012-10-19T17:59:41.367 に答える