none
VB6でOpenRecordsetを実行 RRS feed

  • 質問

  • お世話になります。

     

    WindowsXP Pro(SP2)

    VB6(SP5)+DAO3.6

    の環境で開発したアプリがあります。

    その中に、

    Set MyTbl = MyDB.OpenRecordset(SqlDat, dbOpenSnapshot) 'テーブル開く

    このような文があり、SqlDatは、

    SELECT S32C FROM [ACE32P(高速)] WHERE (( (KUIKICD = 1) OR (KUIKICD = 8) OR (KUIKICD = 2) OR (KUIKICD = 11) OR (KUIKICD = 3) OR (KUIKICD = 10) OR (KUIKICD = 4) OR (KUIKICD = 14) OR (KUIKICD = 5) OR (KUIKICD = 15) OR (KUIKICD = 6) OR (KUIKICD = 13) OR (KUIKICD = 7) OR (KUIKICD = 12) OR (KUIKICD = 9) OR (KUIKICD = 16)) And SHOWNO = 1) AND (名前 Like '*都築*') ORDER BY 区域名, DOKUSYANO, MEICD;

    このようなSQL文です。

    OSがWindowsXP Pro(SP2)では、ぜんぜん問題なく動作しています。

     

    ところが、このアプリを

    Windows Vista(ビジネス)で動作しますと、

    Set MyTbl = MyDB.OpenRecordset(SqlDat, dbOpenSnapshot) 'テーブル開く

    この文から約5分ぐらい考え中で、戻ってきません。

    約5分くらいたつと、正常で戻ってきます。

    なぜに、こんなに時間がかるのでしょうか?

    Vistaでも早く処理が返ってくる方法を教えてください。

    よろしく、お願い致します。

     

     


     

    2007年5月30日 7:28