ホームページ >データベース >mysql チュートリアル >Excel VBA コードから直接 SQL データベースにクエリを実行するにはどうすればよいですか?

Excel VBA コードから直接 SQL データベースにクエリを実行するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-25 02:57:09575ブラウズ

How Can I Query a SQL Database Directly from My Excel VBA Code?

Excel で VBA から SQL をクエリする

Excel 内で VBA を利用すると、SQL データベースと直接対話してスプレッドシートの機能を拡張できます。これにより、SQL クエリの実行、結果の取得、Excel ワークブックへの統合が可能になります。

特定の SQL Server インスタンスに接続して SQL クエリを実行する次の VBA サブルーチンについて考えてみましょう:

Sub ConnectSqlServer()

    Dim conn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim sConnString As String

    ' Adjust according to your environment
    sConnString = "Provider=SQLOLEDB;Data Source=INSTANCE\SQLEXPRESS;" & _
                  "Initial Catalog=MyDatabaseName;" & _
                  "Integrated Security=SSPI;"

    ' Create connection and recordset objects
    Set conn = New ADODB.Connection
    Set rs = New ADODB.Recordset

    ' Open connection and execute query
    conn.Open sConnString
    Set rs = conn.Execute("SELECT * FROM Table1;")

    ' Check for data
    If Not rs.EOF Then
        ' Transfer results to Excel sheet
        Sheets(1).Range("A1").CopyFromRecordset rs
        ' Close recordset
        rs.Close
    Else
        MsgBox "Error: No records returned.", vbCritical
    End If

    ' Clean up
    If CBool(conn.State And adStateOpen) Then conn.Close
    Set conn = Nothing
    Set rs = Nothing

End Sub

このサブルーチンを使用するには、次を変更します部分:

  • データ ソース: 「INSTANCESQLEXPRESS」を SQL Server インスタンスの名前に置き換えます。
  • 初期カタログ: を置き換えますMyDatabaseName" は、接続するデータベースの名前に置き換えます。 to.
  • 統合セキュリティ: Windows 認証を使用する場合は「True」に、SQL Server 認証を使用する場合は「False」に調整します。後者の場合は、「Integrated Security=SSPI;」を置き換えます。 "User ID=[username];Password=[password];" とします。

変更したら、VBA サブルーチンを実行して接続を確立し、「Execute」ステートメントで指定された SQL クエリを実行します。そして、指定された Excel シートに結果を入力します。

以上がExcel VBA コードから直接 SQL データベースにクエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。