• ベストアンサー

access2003 抽出条件が持ち越されてしまう

http://okwave.jp/qa3580875.html ↑にて質問させていただいた者です。  一部繰り返しになりますが、2000種ほどの商品を扱っています。伝票を見ながらフォームから直接売上入力を行いたく思います。 ◆親)売上入力フォーム:売上管理番号/日付/取引先/取引先伝票番号/売上合計金額 ◆子)売上明細フォーム:商品コード/商品名/単価/数量/明細金額 ◆売上入力テーブル:売上管理番号/取引先/日付/取引先伝票番号 ◆売上明細テーブル:明細番号/売上管理番号/商品コード/数量/明細単価 子フォームで商品コードのフィルターとして、 1)親フォームで選択した取引先の商品のみ→[Forms]![売上入力フォーム]![取引先]を導入 2)ワイルドカード「Like "*" & [商品コードの一部を入力] & "*"」 のふたつを使っていますが、うまく動作してくれません。 いったん商品コードを選択すると、明細の次の行に移動しても取引先選択のポップアップが出ず、コンボボックスには同じ選択肢が提示されます。さらに、新しいレコードに移動してもポップアップなし&同じ選択肢が続きます。 この状態を回避する方法を教えてください。 長くなりましたが、どうぞよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#79209
noname#79209
回答No.4

子フォームの商品コードのソースをReQueryしていないからでは?

cottonfeel
質問者

お礼

あ、なんか素人ながら、わからないながらぴんときたというか。きっとそれです。まさにそんな感じです。どうやったらいいのかはさっぱりわかりませんが、調べてみます。 正直なところ、この問題ひとつに丸々2週間かかっているので、才能はなさそうですが・・・。 ナイスヒント、ありがとうございました!

その他の回答 (3)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.3

フィルタ条件に書くのは SQLのWHERE条件からWHEREを外したものであればいいので Likeも使えますよ 「フィールド名 Like "*" & [商品コードの一部を入力] & "*"」 しかし、前の質問でやっているのはフィルタじゃなく抽出条件じゃないの

cottonfeel
質問者

お礼

こんばんわ、回答ありがとうございます。フィルターと抽出の違いがよくわかりませんが、前回教えていただいたとおりの方法を実行した後、クエリの商品コードの抽出条件に「部品コード Like "*" & [商品コードの一部を入力] & "*"」と書き込みましたが、やはり次のレコードでは新しく抽出条件を求めてくれません。なにが原因なのか・・・

noname#79209
noname#79209
回答No.2

子フォームの商品コードをテキストボックスでなく、コンボボックスとして、 このコンボボックスの、 レコードソースは、売上明細テーブルの商品コード 値集合タイプは、テーブル/クエリ 値集合ソースは、 SELECT 商品マスタ.商品コード, 商品マスタ.商品名 FROM 商品マスタ WHERE (((商品マスタ.取引先)=[Forms]![売上入力フォーム]![取引先])); で良いのでは?

cottonfeel
質問者

お礼

ご回答ありがとうございます。 いただいた方法で、とりあえず2)は無視してやってみたのですが、新しいレコードに移動しても同じ選択肢が出ます。2)も挿入すると、明細の各行も選べなくなります。もしかしたら、原因は別のところにあるのかも・・・。こういう症状が出てしまう原因に心当たりはありませんか? 丸4日これだけにかかりっきりですが、できないです。

noname#79209
noname#79209
回答No.1

フィルターに「Like」を入れても多分ダメでしょう。 コンボボックスの「AutoExpand/自動拡張」を「はい」にしてみては?

cottonfeel
質問者

お礼

こんばんわ。ご回答ありがとうございます。 触ったつもりはありませんが、「AutoExpand/自動拡張」というところは「はい」になっていました・・・。「like」は使えないのですね。 こういう場合、皆さんはどうしているんでしょうか。引き続き、絞込検索で検索を続けます。