MS Accessで3つの異なるINSERT INTOクエリがあります。クエリは、データベース内のODBCリンクテーブルをクエリしています。手動でAccessから実行した場合、すべて正常に動作します。すべて1分以内で、16,000〜3,000件のレコードが返されます。VBA呼び出しからアクセス操作クエリが失敗しましたが、手動で正常に実行されます
Access VBAモジュールからクエリを実行しようとすると、2つのクエリがうまく動作しますが、そのうちの1つでは、executeステートメントは実行を終了しません。タイムアウトやエラーは発生しません。コードを壊すと、この特定のクエリのために常にCurrentDb.Execute strQRY
行にハングアップします。
後で別のクエリとUNION-edされるため、多くのnullフィールドがあります。私は、タイムアウトのプロパティを変更しようとし、実行ステートメントを別の方法で呼び出すが、何も役立ちません。クエリは手動で実行すると10秒後に実行されます。 VBAとSQLは以下に掲示されます:
VBA - 実行方法。 INSERTクエリを最初にすべてのレコードをクリアしてから実行します。
DoCmd.RunSQL "DELETE * FROM " & strTBL
CurrentDb.Execute strQRY
SQLを - すべてのストアドクエリで呼び出さ:
INSERT INTO src_subqry_PDF_Text_Notes
SELECT *
FROM (
SELECT
LOGICLIB_MFTXL300.CMPNO,
Null As VNDNO,
Null As VNAME,
Null as NeedXRef,
Null As BUYER,
Null As BMNAM,
LOGICLIB_MFTXL300.[PONO#] As PURCH,
LOGICLIB_INPOL300.[LINE#] As [LINEN],
LOGICLIB_MFTXL300.[PROD#] As PRDNO,
Null As SDESC,
Null As DESCP,
Null As PODDT,
Null As OREDT,
Null As PORDT,
Null As RQ3DT,
Null As ECOST,
Null As LNCST,
Null As ACOST,
Null as NeedOpenCost,
Null As PCRCD,
Null As QUANO,
Null As QUANR,
Null as NeedQtyOpenBase,
Null As UTMES,
Null As P3QOR,
Null As P3QRC,
Null as NeedQtyOpenPURCH,
Null As ORDUM,
Null as NeedOrderType,
'Z' As LNTYP,
Null As LSTAT,
Null As PSTAT,
Null As POTYP,
Null As P1PAP,
Null As PAPV1,
Null As PAPV2,
Null As PAPV3,
Null As PAPV4,
Null As PA1DT,
Null As PA2DT,
Null As PA3DT,
Null As PA4DT,
Null As POCST,
Null As POFOB,
Null As SHIPV,
Null As CARIR,
Null As FGTRM,
Null As PPHOA,
Null As REQNO,
Null As VADD1,
Null As VADD2,
Null As VADDX,
Null As VACSZ,
Null As VPHOA,
Null As VAPGL,
Null As VMED1,
Null As VTXB1,
Null As CNAME,
Null As ADDR1,
Null As ADDR2,
Null As ADDRX,
Null As CACSZ,
[TXSQ#],
TXTDT
FROM
LOGICLIB_MFTXL300
LEFT JOIN LOGICLIB_INPOL300 ON (LOGICLIB_INPOL300.PURCH = LOGICLIB_MFTXL300.[PONO#] AND LOGICLIB_INPOL300.PRDNO = LOGICLIB_MFTXL300.[PROD#])
WHERE
PURCH IN (SELECT DISTINCT PURCH FROM LOGICLIB_INPOL100 WHERE(PSTAT <> 'Y'))
)
ありがとうございました!
strQRYを構成するコードを投稿する質問を編集します。 – June7
strQRYは、投稿されたSQLを含むAccessクエリの名前です – FatherKino
クエリオブジェクトstrQRYの名前を付けましたか?あまり説明的ではありません。 DoCmd.OpenQueryを試して、どの警告がトリガーされたかを確認できます。 – June7