QueryTableのプロパティを設定する

QueryTableにはプロパティがあり、使うことで細かな設定ができます。


Homeに戻る > Excel データベースのTipsへ

クエリテーブルのプロパティ一覧
プロパティ 説明
Name String 名前を付けます
FieldNames Boolean フィールド名を列の項目名にする
PreserveFormatting Boolean セルの書式をそのまま適用する
BackgroundQuery Boolean クエリ実行中もシートの操作が可能
RefreshStyle Long セルを上書きするか追加するかを設定する
xlOverwriteCells : セルは追加せず上書きする
xlInsertDeleteCells : レコードに合わせ行を追加削除する
xlInsertEntireRows : セル又は行を削除せず、行を挿入する
SavePassword Boolean パスワードを保存する
SaveData Boolean クエリテーブルをブックに保存する
PreserveColumnInfo Boolean 更新ごとに並べ替え・フィルタ・レイアウト情報を保存する
AdjustColumnWidth Boolean 更新ごとに列幅を自動調整する
RefreshOnFileOpen Boolean ブックを開くたびに自動的に更新する
RefreshPeriod Long 指定した分間隔で更新する。0に設定すると無効
RowNumbers Boolean 行番号を追加表示する
ResultRange Rangeオブジェクト クエリテーブルの領域を返す
MaintainConnection Boolean 接続を更新後もブックが閉じられるまで維持する

実行画面

顧客管理テーブルを使います。

実行結果です。
行幅が自動調整されているのが分かります。

コード

Option Explicit
    
Private tqt As QueryTable

'QueryTableオブジェクトでデータベースを読み込む
Private Sub ExReadTable()
    Dim ssql As String
    
    'SQL文
    ssql = "SELECT * FROM T_顧客マスター"
    
    'QueryTableオブジェクト
    Set tqt = ActiveSheet.QueryTables.Add(Connection:="ODBC;DSN=MS Access Database;DBQ=C:\MyHp\ExcelTips\顧客管理.accdb", Destination:=ActiveSheet.Range("B7"), SQL:=ssql)
        
    'プロパティをセット
    With tqt
        'クエリ名
        .Name = "顧客管理クエリ"
        'フィールド名を表示する
        .FieldNames = True
        'クエリ実行中もワークシートの操作が可能
        .BackgroundQuery = True
        'レコード数に合わせ行数を調整する
        .RefreshStyle = xlInsertDeleteCells
        '1分間隔で更新する
        .RefreshPeriod = 1
        'パスワード情報を保存
        .SavePassword = True
        'クエリテーブルをブックに保存する
        .SaveData = True
        '列幅を自動調整する
        .AdjustColumnWidth = True
        'クエリの実行
        .Refresh
    End With

End Sub

Private Sub CommandButton1_Click()
    'QueryTableオブジェクトでデータベースを読み込む
    ExReadTable
End Sub



Homeに戻る > Excel データベースのTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved