アプリ版:「スタンプのみでお礼する」機能のリリースについて

データシート(サブフォーム)の複数条件抽出について。

データシート(サブフォーム)の複数条件抽出について。

環境:ACCESS2000 DAO利用 

現在メインフォーム上に、オートフォーム:データシート(基となるテーブル(マスターA)選択)
をサブフォームとして置き、メインフォーム上にコンボボックス2個(コンボ1、コンボ2)&コマンドボタン1個設置してあります。

基テーブル(マスターA)には
種類    サイズ    商品名
の3フィールドがあります。

やりたい事は、コンボ1(対応フィールド:種類)及びコンボ2(対応フィールド:サイズ)で選択し
コマンドボタンを押下で、サブフォーム内データの抽出です。

上記をクエリ使用でも、vba利用でもどちらでも大丈夫です。
先日この質問板で丁寧に教えて頂いたのですが、
回答して下さった方もおっしゃってたのですが、
動的に動かないとの事で、やっているうちにやはり
動的でないと難があるようなので
再度ご質問させて頂きました。

何卒ご教授の程宜しくお願い致します。

先日の質問板は下記です。
http://oshiete.goo.ne.jp/qa/5845718.html


また、質問させて頂いている間も引き続き自分で調べながら
やっていこうと思います。

A 回答 (3件)

前回回答した者です(笑)



前回の物は試してみましたか?
私は「動的でにならない気もする・・」とは書きましたが、「動的にならない」とは断定していませんでしたよね。

締めきりをされた後に気付いたのですが、コマンドボタンを押下するごとにワークテーブルのデータを削除→ワークテーブルにインサートしているので、よくよく考えると一応動的にはなっています^^

とりあえずは試してみてください。

それでご質問者様の求める動きをしなかった場合は、「何がどうなっていて、どういう結果を求めているか」を補足して下さい。(同様の質問事項が残っている場合は、板を締めきらずに補足して下さいね。迷惑とか、そういうのは考えなくて大丈夫です^^)
    • good
    • 0

あ・・



Do While Not rs.EOF '抽出したデータの最終行までループ
.AddNew 'ワークテーブルへの書き込み
rs2!種類 = rs!種類 '抽出した「種類」をワークテーブルのフィールド「種類」へ
rs2!サイズ = rs!サイズ '抽出した「サイズ」をワークテーブルのフィールド「サイズ」へ
rs2!商品名 = rs!商品名 '抽出した「商品名」をワークテーブルのフィールド「商品名」へ
.Update 'コミットのようなもの
rs.MoveNext '抽出したデータの次の行へ
Loop

上記の後に
Me.Refresh
これいれないと画面に反映されないかもしれないです・・・^^;;;
    • good
    • 0
この回答へのお礼

sykt1217さん ありがとうございます。

私の前回のお礼をした後、動的に動かすために何が必要か
調べていたのですが、検索ワードが悪かったせいか
全然見つからなく質問してしまいました。

今回教えて頂いた Me.Refresh を追加し
動作確認したところ、完璧に思い通りの動きをしてくれました。

しかし、自分の調べ方(検索ワード等)少し考え直し
質問しなくてもいいように勉強していこうと思います。

何度も丁寧に教えて頂き、感謝いております。
ありがとうございました。

お礼日時:2010/04/26 14:01

お礼ありがとうございます。



>私の前回のお礼をした後、動的に動かすために何が必要か
>調べていたのですが、検索ワードが悪かったせいか
>全然見つからなく質問してしまいました。

とのことですが、これは仕方がないです。
「DAOならこれ」「ADOならこれ」のように、AccessVBAでは、数パターンのコーディング方法がわかっていれば何とかなりますが、そのパターンを把握出来ていないのだと思います。
パターンが把握できていない状態で「どこどこがどうだから、こうだよな」と推測することはまず無理です。
今回の「Refresh」だって、「テーブルにはインサートされてる。コントロールとも連結されてる。なのになんで画面にでない?」となった時に、「再描画」なんてなかなか思いつくものではありません。
こう言った事象が起きて、その事象が再び起きた際に「あの時はこうしたよな」といった経験頼りになる面もある言語ですし。

まぁ今回のは完全に私のミスでご迷惑をおかけしましたし・・・
お手間をとらせてしまい、申し訳ありませんでした。

でも想定の動きになってよかったです^^
頑張ってくださいね。
    • good
    • 0
この回答へのお礼

こちらこそ色々お手数お掛けしまして。
しかも、丁寧に説明して頂き、とてもわかりやすく
理解するのも早くできました。
ありがとうございました。

こういう事を1つ1つ丁寧に経験として
今後使えるように学んでいこうと思います。

感謝しております。

お礼日時:2010/04/27 09:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!