sql >> データベース >  >> RDS >> Mysql

VBAを使用してExcelでSQLスタイルのクエリを使用する

    一日のほとんどを要しましたが、私はこれを理解しました。コードは次のとおりです:

    Sub Excel_QueryTable()
    
    Sheet2.Cells.ClearContents
    
    Dim oCn As ADODB.Connection
    Dim oRS As ADODB.Recordset
    Dim ConnString As String
    Dim SQL As String
    
    Dim qt As QueryTable
    
    ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\t.xlsm;Extended Properties=Excel 8.0;Persist Security Info=False"
    Set oCn = New ADODB.Connection
    oCn.ConnectionString = ConnString
    oCn.Open
    
    SQL = "Select * from [Sheet1$] WHERE type='man'"
    
    Set oRS = New ADODB.Recordset
    oRS.Source = SQL
    oRS.ActiveConnection = oCn
    oRS.Open
    
    Set qt = Worksheets(2).QueryTables.Add(Connection:=oRS, _
    Destination:=Range("A1"))
    
    qt.Refresh
    
    If oRS.State <> adStateClosed Then
    oRS.Close
    End If
    
    If Not oRS Is Nothing Then Set oRS = Nothing
    If Not oCn Is Nothing Then Set oCn = Nothing
    
    End Sub
    

    これを自分のブックで機能させるには、Data Sourceを変更する必要があります 使用しているファイルの名前へのパス。

    [Sheet1$] クエリには、選択しているシートの名前が含まれます($のままにします) 。

    Worksheets(2) は、動的テーブルを作成するシートの番号です。

    さらに、Microsoft Active X Data Objectsの1つを有効にする必要があります Tools>Referencesに移動してライブラリ ExcelのVBAエディタで。




    1. 'Closure'のシリアル化は許可されていません-laravel

    2. Django AWS RDS MySQLエラー:(2026、'SSL接続エラー:エラー:00000001:lib(0):func(0):reason(1)')

    3. mysql、列名を繰り返し処理します

    4. djangoでの非常にシンプルなユーザー入力