• ベストアンサー

アクセス2003 フォームのボタンをクリックしたら空白データを抽出したい

皆様、お世話になります。 アクセス2003で講習会受講管理をしたいと考えています。 クエリには[氏名][所属][受講日]があります。 このクエリを元にフォーム(一覧表形式)を作りました。 このフォームにコマンドボタンを配置して、コマンドボタンをクリックしたら[受講日]が空白のデータのみフォームで表示したいのですが、どのようにしたらいいのでしょうか。 教えて下さい。

  • ariga
  • お礼率44% (55/123)

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

  • ベストアンサー
  • okky0707
  • ベストアンサー率22% (34/154)
回答No.1

 作成したクエリをコピーして同じ構成のクエリをもうひとつ作ります。 仮にクエリ名を「コピー」とします。 コピーしたクエリの受講日列の抽出条件にIs Nullと入力します。  フォームのコマンドボタンのプロパティを開き、 「イベント」タブの「クリック時」の欄をクリックすると 右端に…というボタンが現れるのでそれを押します。  「ビルダの選択」ウインドウが現れるので、「コードビルダ」を選択します。  Visual Basicのウインドウが立ち上がるので、 カーソルが点滅している位置を動かさないように、 Me.RecordSource="コピー" と入力してウインドウを閉じます。  ※お気づきかと思いますが、"コピー"の部分はコピーしたクエリの名前を入力します。  これで、お望みの操作が可能になります。  下のHPも参考にご覧ください。

参考URL:
http://www.mahoutsukaino.com/ac/ac2000/ac2000/kihon/query08.htm
ariga
質問者

お礼

ご回答ありがとうございました。 また、返信が遅くなってしまって、すいません。 とってもすっきりしました。 抽出条件に Is Null を設定してクエリを実行するとできるということは分かっていたのですが Me.RecordSource= を記述するのがわかりませんでした。 テキストボックスに抽出条件を入れて抽出するというのは、ホームページ等で、たくさん紹介されているのですが、このような抽出については見つけられなかったので助かりました。

関連するQ&A

  • MSアクセスの表形式で、ボタンをクリック→データを抽出させるには‥

    MSアクセスを使い、データを表形式で表示させています。 同じ日付のレコードが沢山あるのですが、本日分のみを表形式で一覧表示させるにはどうすればよいでしょうか。 また、例えばボタンをクリックすれば、表の中身だけが入れ替わり、 翌日分が表示される、という風にするにはどうすればよいでしょうか。 今はテーブルからクエリで本日分だけ抽出し、それを表示させているのですが、 前日、前々日、3日前‥と遡ろうとするとその分だけクエリを作成しないといけないので、 何かやり方が間違っていると思いますので‥。 ご教授のほど、よろしくお願いします。

  • Access2002 のコマンドボタンでエラー

    Access2002でフォームを利用して表紙を作ろうとしているのですが、コマンドボタンを配置してフォームを開けるようにしたいと思っています。 クエリーも開けないので一度そのクエリーのフォームをつくりそれを開くためのコマンドボタンを用意しました。 ところがボタンを配置するごとの確認していくと途中でエラーが出てフォームを開けなくなります。 すると今まで開けたフォームも同様に開けなくなってしまいます。 Accessを使い始めたばかりの初心者ですが、どなたか教えて下さい。 また、Accessの仕組みは大体わかったのですが、顧客管理や商品管理など行ううえでステップアップしやすい参考書籍・webなどありましたら是非教えて下さい。 宜しくお願いします。

  • ACCESSのフォームでの入力について

    ACCESS2000を使用しています。初心者のほうです。住所録のテーブルを作って、作業用のフォームを表形式で作りました。そのフォームに宛名印刷するためのコマンドボタンを配置しています。フォーム上で一件入力し、そのコマンドボタンを実行するのですが、その時点ではレコードとして入力されていないようで、実行できません。フォームを一度閉じて、また開くと出来るようになります。1件のレコードをフォームから入力すると同時にテーブルへも保存されていくようにしたいのですが、簡単にやる方法はないでしょうか?

  • MS Access2000のフォームについて

    たとえば、Aという表形式のフォームがあります。 項目名は、氏名、生年月日、年齢です。 そのフォームのレコードごとの右端にはコマンドボタンがあります。 そのコマンドボタンをクリックすると、Bというフォームが開きAで選択したデータの詳細(氏名、生年月日、年齢、住所、電話番号等々)が表示されるようにしたいのですが、そのやり方をどなたか教えていただけないでしょうか。 VBA初心者ですが、簡単なものならわかるのでVBAを使用したものでもOKです。 どうぞよろしくお願いいたします。

  • accessのフォームのボタンについて

    ACCESS2000を使っています。 フォームのボタンでクエリーを開きたいのですが どうしたらよいのでしょうか? BVAを書くのですか???

  • Accessのデータをコマンドボタンをクリックしただけで、保存させたいのですが・・・

    Accessのデータをコマンドボタンをクリックで、Aというフォルダにcsv形式で保存させたいのですが、フォームのコマンドボタンのプロパティでどのように設定してよいかわかりません。 会社に誰も聞ける人がいなくてたいへん困っています。 どなたかわかる方教えてください。 よろしくお願いします。

  • レコードの値を取得

    お尋ねします。 職員台帳をアクセス2000で作成しています。 検索フォームを作って、部署名をコンボボックスで選択すると、その部署に所属する職員の一覧を表形式で表示するようにしました。 表示するフィールドは、部署名、職員氏名、職員番号、入社年月日です。 次に、表形式で抽出されたそれぞれのレコードについて、コマンドボタンを押して別のフォームを開き、そのフォームで個別の情報を入力したいと考えます。各レコードそれぞれにコマンドボタンを配置する方法です。 別のフォームを開くときに、各レコード(テキストボックス)に表示されている職員氏名と職員番号の「値」を取得したいのですが、その方法がわかりません。表形式のレコードのValueを取得する方法をVBAでどう記述すればいいか、どなたか教えてください。 よろしくお願いいたします。

  • Access フォームコンボボックス空白をクエリで抽出したい

    現在access2000を使って、 フォーム1内にコンボボックスを作って コンボボックス内に1,2,3 と項目を入れています。 一方、クエリを使って、上記フォーム内のコンボボックスをつなげて1,2,3をそれぞれ抽出することはできるのですが、 1から3まで全てをiif関数などで 抽出したいと考えてします。 僕が考えた関数は iif(isnull([フォーム1][コンボ1]),is not null ,[フォーム1][コンボ1]) とクエリ抽出条件内に入力すると、結果は、 1、2、3をそれぞれフォームコンボボックスで選択すれば、クエリに反映されるのですが、コンボボックス内を「空白」の状態にすると、1,2,3すべてがクエリで抽出されるのではなく、何も抽出されないという結果になってしまいます。 どうすれば、クエリで1から3すべてを抽出することができるのでしょうか?多分、iif関数内の「空白」は空白として処理されないような気がします。 よろしくお願いします。

  • accessで空白の時の抽出

    access2000を使っています。まだ初心者なので難しい事はできないのですが、クエリを使って絞り込み検索のフォームを作っています。 テーブル内のデータで空白のデータがあります。その際にクエリの抽出条件にlike iif(is null([forms]![formA]![テキスト100]),"*","*"&[forms]![formA]![テキスト100]&"*")としています。フォームのテキストが空白のときは全て抽出するという条件を満たす予定で設定したのですが、テーブル内のデータが空白の物が抽出できません。データが空白がない様にすればいいのでしょうが、クエリの条件で設定できないものでしょうか?データはテキスト型です。

  • アクセスフォームについて教えて下さい。

    アクセスフォームについて教えて下さい。 テーブル T_設備 設備管理No. 状態ID(フィールドプロパティ→コンボボックス) 分類ID(フィールドプロパティ→コンボボックス) 設備名 (その他項目あり) T_状態 ID  001  稼動中 002  停止中 T_分類 ID 001  専用機 002  マシニング T_設備、T_状態、T_分類はリレーションシップを組んでいます。 クエリ T_設備を元にクエリを作成 Q_設備 (全データを表示) 稼動中の設備を抽出 Q_稼働設備 停止中の設備を抽出 Q_停止設備 フォーム Q_稼働設備を元にフォームを作成 F_稼働設備一覧(表形式) Q_稼働設備を元にフォームを作成 F_稼働詳細(単票形式) 表形式のフォーム(F_稼働設備一覧)にコマンドボタン(コマンド1)を作成、 OPENFORMメソッドでクリックした行のデータを表示させるようにしました。 (単票形式のF_稼働詳細でデータの詳細を確認したい) Private Sub コマンド1_Click() DoCmd.OpenForm "F_設備詳細" Forms!F_設備詳細!設備管理No. = Forms!F_稼働設備一覧!設備管理No. End Sub しかし、コンボボックスの内容を変更(稼動中から停止中へ)し、フォームを閉じ、 再度F_稼働設備一覧を開くと、データがQ_停止設備へ移動しておらず、 コンボボックスも稼動中に戻ってしまっています。 コマンド1ボタンからではなく、直接F_設備詳細を開き、コンボボックスの停止中を 選択した場合は、データはQ_停止設備へ移動します。 OpenFormメソッドの記入に問題があるのでしょうか? 色々と試しましたが、解決できませんでした。 よろしくお願いいたします。   

専門家に質問してみよう