2017-08-04 33 views
0

これまで数週間にわたりこの問題をトラブルシューティングしていますが、解決策はありませんでした。私の場合には奇妙である何 Excel 2013 - 1004実行時エラークエリテーブルをリフレッシュ

は、二つのコンピュータ上で同じバージョンを実行している偽BackgroundQuery = Falseの

  • AutoFilterModeを取り除く

    • 明示的なオプション
    • =:私は、以下を含む多くのソリューションを、試してみましたExcelの同じバージョンのODBCドライバを使用して、コンピュータ1ですべてのクエリが動作し、コンピュータ2で実行時エラーが発生します。問題は、すぐにコンピュータ1が消えてしまい、コンピュータ2を稼働させる必要があるということです。

      本当に奇妙なことは、コンピュータ2が同じサブルーチンの情報を正常に接続して取得できることです。したがって、クエリ1は機能しますが、クエリ2は実行時エラーをもたらします。作品や情報を引っ張る

      SELECT COUNT(ADM_APP_INFO.APP_NUM) 
      FROM 
      SCHEMA.TABLE TABLE 
      WHERE (TABLE.QUEUE = 'QNAME' AND TABLE.PARAM = 'D' 
      AND TABLE.DATE_ENT >= '1/1/2016') 
      

      :同じExcelファイルにコンピュータ2で実行

      は、ここでは、クエリ1です。

      SELECT DISTINCT COUNT(ACCT_NUM) FROM SCHEMA.DAILY_RUN WHERE DAILY_RUN.ACCT_NUM_FLAG = 0 FETCH FIRST 10 ROWS ONLY 
      

      しかし、それは、がないコンピュータ2にクエリ2が持つ作業なしWHERE句:非ゼロカウントを持つクエリ2は、ありません。これらのクエリは両方ともコンピュータ1で動作しますが、WHERE句を使用するクエリ2はコンピュータ2でエラーを返します。

      コンピュータ1上の動作中のExcelファイルをコンピュータ2にコピーし、コンピュータ2のみでエラーが発生します。何も提案はありませんか?

      With Worksheets("Template").QueryTables.Add(Connection:="ODBC;DSN=Connect32;UID=UserName;;HOST=111.111.11.111;PORT=xxxx;SUBSYS=xxxx;DBTY=DB2;PLAN=xxxx ", _ 
          Destination:=Range("D5")) 
          .CommandText = Range("Query!A1:A1").Value 
          '.Name = "Query from MS Access Database" 
          .FieldNames = False 
          .RowNumbers = False 
          .FillAdjacentFormulas = False 
          .PreserveFormatting = True 
          .RefreshOnFileOpen = False 
          .BackgroundQuery = True 
          .RefreshStyle = xlOverwriteCells 
          .SavePassword = True 
          .SaveData = True 
          .AdjustColumnWidth = False 
          .RefreshPeriod = 0 
          .PreserveColumnInfo = True 
          .Refresh BackgroundQuery:=False 
      End With 
      
  • +0

    コンピュータ#2からコンピュータ#1へのファイルをExcelファイルにコピーして実行するとどうなりますか? – jsotola

    +0

    が見つかりましたこのhttps://stackoverflow.com/questions/17980854/vba-runtime-error-1004-application-defined-or-object-defined-error-when-select#17982430 – jsotola

    +0

    こんにちはjsotola、はい私も同様にそれを試みたありがとうございます。あなたが提案したリンクはコピー貼りをしていますが、この問題に対処するようには見えません。 –

    答えて

    0

    OK、私は私の同僚の1がこの問題を解決することができたように、本誕生日を得たように見えます:

    参考のため、ここではブロックでは、私が使用しています。

    私のODBCドライバは、おそらくあなたの疑いがあるように、両方のシステムで全く同じ方法で構成されているわけではありません。私の場合は、[Advanced]タブの[AlternateID]設定でデータベース名を追加する必要がありました。

    この手順を実行しないと、クエリのテーブル名を完全に修飾しても役立ちません。これは外見上奇妙な問題に直面している他の人に役立つことを願っています!

    関連する問題