1

Oracle DB via ODBCリンク テーブルとして接続を照会するように設計された Access 2010 ユーティリティがあります。2 つのテキスト ボックスとコマンド ボタンを備えた単純なフォームを作成しました。コマンド ボタンは VBA コードを起動します"DoCmd.OpenReport"

レポート クエリの Where 句は次のようになります。

WHERE (((PRODLAW_ITEMLOC.LOCATION)=[Forms]![frm_Qry_ByItem&Loc]![txtLocation]) AND ((PRODLAW_ITEMMAST.ITEM)=[Forms]![frm_Qry_ByItem&Loc]![txtItem]));

txtItem と txtLocation の値は、フォームからユーザーが指定した値です。

これにより、現在の空のデータセットが返されます。ローカル テーブルにクエリを実行する場合 (単一の ODBC クエリを使用してすべての可能な値を単一のローカル テーブルに抽出する)、この方法は、ローカル テーブルの更新に 8 ~ 10 分かかること以外は問題なく機能します。クエリ条件を(1234 が有効な項目番号であると仮定して) の"[Forms]![frm_Qry_ByItem&Loc]![txtItem]"ような単純な直接値に置き換えると、問題なく動作します。"1234"

テキストボックスの値を明示的に変換しようとしました"Cstr([Forms]![frm_Qry_ByItem&Loc]![txtItem])"が、違いはありませんでした。これはクエリであるため、単純にブレークポイントを作成して変数のプロパティを調べることはできないため、頭を悩ませています。SO や他のサイトで手がかりを探すのに何時間も費やしましたが、関連するものは何も見つかりませんでした。

お知らせ下さい。ありがとう!

mfc

4

0 に答える 0