QueryTable.Refresh メソッド (Excel)
QueryTable オブジェクト内の外部データ範囲を更新します。
構文
式。更新 (BackgroundQuery)
式QueryTable オブジェクトを表す変数。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
BackgroundQuery | 省略可能 | バリアント型 | QueryTables が SQL クエリの結果を基にしている場合にのみ使用します。 データベース接続が確立し、クエリが実行されると直ちに制御をプロシージャに返す場合は True を指定します。 QueryTable はバックグラウンドで更新されます。 すべてのデータをシートに取り出した後で制御をプロシージャに返す場合は False を指定します。 この引数を省略すると、 BackgroundQuery プロパティの設定に基づきクエリ モードが決定されます。 |
戻り値
Boolean
注釈
この「備考」の内容は SQL クエリの結果を基にした QueryTable オブジェクトに適用されます。
Refresh メソッドは、QueryTable オブジェクトのデータ ソースに接続し、SQL クエリを実行し、QueryTable オブジェクトに基づいた範囲にデータを返します。 このメソッドを呼び出すまで、QueryTable オブジェクトはデータ ソースと通信しません。
OLE DB または ODBC データ ソースへの接続を行う場合、Microsoft Excel は Connection プロパティで指定された接続文字列を使用します。 この接続文字列の情報が十分でない場合、必要な情報をユーザーに確認するダイアログ ボックスが表示されます。 DisplayAlerts プロパティが False に設定されている場合、ダイアログ ボックスが表示されず、不十分な接続情報の例外によって Refresh メソッドは失敗します。
接続に成功すると、完全な接続文字列が保存され、同じ編集セッションでこの後 Refresh メソッドが呼び出されるときにダイアログ ボックスが表示されなくなります。 完全な接続文字列は、 Connection プロパティの値を調べることによって取得できます。
データベース接続が確立すると、SQL クエリの妥当性が確認されます。 クエリが有効でない場合、SQL 構文エラーの例外で Refresh メソッドは失敗します。
クエリにパラメーターが必要な場合は、Refresh メソッドが呼び出される前に、パラメーター バインド情報を使用して Parameters コレクションを初期化する必要があります。 結合しているパラメーターが不十分な場合、Refresh メソッドはパラメーター エラー例外で失敗します。 パラメーターが値のプロンプトに設定されている場合、 DisplayAlerts プロパティの設定に関係なく、ダイアログ ボックスがユーザーに表示されます。 パラメーターを指定するダイアログ ボックスをユーザーがキャンセルすると、Refresh メソッドは停止し、False を返します。 追加のパラメーターが Parameters コレクションにバインドされている場合、これらの追加パラメーターは無視されます。
クエリが正常に完了するか、開始されると、Refresh メソッドは True を返します。接続文字列またはパラメーターを指定するダイアログ ボックスをユーザーがキャンセルすると、このメソッドは False を返します。
フェッチされた行の数がワークシートの使用可能な行数を超えたかどうかを確認するには、 FetchedRowOverflow プロパティを調べます。 このプロパティは、 Refresh メソッドを呼び出すたびに初期化されます。
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。