|
フォーム上でユーザーに検索条件を指定させ、検索ボタンが押されたらサブフォームに検索結果を表示するプログラムを作っています。
開発環境は Access2002/SQL-Server2000 です。
検索ボタンが押されたところで動的にSQL文を生成して String型変数 str_sql にセットし
Me.クライアント検索sub.Form.RecordSource = str_sql
Me.クライアント検索sub.Form.Requery
以上のコードを実行させています。
これでほとんどの検索は問題なくできるのですが、SQL文が重たいもの(クエリアナライザで実行して40秒くらいかかる)になると処理がうまくいかなくなります。検索結果が1行しか表示されず、その1行もデータがすべて「#Name?」という表示です。
SQL-Serverから取得したデータをサブフォームに表示させるところでタイムアウトしているのかな?と思うのですが、どう修正したらいいか分からずにいます。
connectionがタイムアウトしないようにすればよいのかと思い、
Me.クライアント検索sub.Form.RecordSource = str_sql と
Me.クライアント検索sub.Form.Requery の前に
connection.CommandTimeout = 300 を入れてみたのですが状況は変わりませんでした。
お知恵をお借りできませんか。
|
|