• ベストアンサー

フォームに更新ボタンを作ったのですが・・・

教えてください。Access2000です。 あるフォームで商品が未到着のものだけを抽出し表示しています。 そのフォーム上で到着した商品に対して日付を入力します。 この時、「更新」ボタンを押すことによって日付入力したレコード(未到着ではなくなった商品)をフォーム上から消したいのですがどうすればよいのでしょうか? 一度フォームを閉じて再度開き直すような動きをすれば良いのですがもっと素敵なやり方があるのではと質問させていただきました。 皆さんのお知恵をお貸しください。よろしくお願いします。

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

  • ベストアンサー
  • omusupa
  • ベストアンサー率61% (115/186)
回答No.1

マクロで「再クエリ」をされるとどうでしょうか? マクロでアクションを「再クエリ」を選択し、(アクションの引数のほうは何もしなくてもよいと思います) あとは、コマンドボタンか何かに、そのマクロを登録してみるとよいかと思います。 確認してみてください。

noname#12495
質問者

お礼

ありがとうございました。 引数がなくても大丈夫だったんですね! 勉強になりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.2

#1さんのおっしゃる通りでいけると思います。 具体的には、更新ボタンのクリック時イベントで Me.Requery で普通は大丈夫でしょう。 フォーム上のフィールドがテーブルに連結されていると(データソースありの場合)、Requeryで先頭レコードに戻ったりするかもしれません(自信なし)ので、それがまずい場合はRequery前のレコードのキーを保存しておいて、Requery後にそのレコード(の前後どちらか)に移動する・・・などの処置が必要になるかもしれませんね。 頑張ってください(^o^)丿

noname#12495
質問者

お礼

ご回答、ありがとうございました。 これからもよろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • フォーム上の入力更新値を既定値にしたい

    最近アクセスを始めましたが、わからないことが多くて皆様のお知恵よろしくお願いします。 現在、フォームにデータ入力やレポート用のクエリ抽出要件用とレポート表示用として、非連結のテキストボックスを多数設置して利用していますが、一度入力した要件は、しばらくは同じ値で作業します。 よって、入力した要件データが次回もそのまま表示されるようにしたいのですが、たとえば日付入力テキストで、VBAのafterupdate で以下の設定をすると、一旦はデザインビューのプロパティの既定値が更新内容に変わっているのですが、終了・再立ち上げを行うと元の既定値に戻ってしまいます。 Private Sub 日付_AfterUpdate() Me!日付.DefaultValue = "#" & Me!日付 & "#" End Sub なお、入力後にフォームのデザイン等を一部変更・または直接プロパティで既定値変更した場合は、「フォームの変更を保存しますか?」の表示がでて、「はい」クリックするとフォームデザインとともに上記更新日付等も既定値が更新され、再立ち上げ時にも更新値が表示されます。 よって、フォームビューからの入力テキストの更新だけでは、見た目こそプロパティの既定値が更新されていますが、実際にはフォームの更新と認識されず、保存動作が行われていないようです。 更新ボタンをクリックしてからの終了や、close acSaveYes 等の設定してみても効果はないです。 フォームビューからの入力だけで、既定値更新の内容が保存できる方法があれば、よろしくお願いします。

  • Accessのフォームでデータの更新や、新規登録ができません

    Accessのフォームについての質問です。 単票形式のフォームを作成したところ、内容の更新もできず、新しいレコードを追加するためのボタン(▲と*のボタン)も無効になっているので、レコードの新規追加ができません。 フォームに入れるフィールド(氏名や商品番号など)を変えると、上記のような状況にはなりません。 何がまずいんでしょうか?

  • accessの時間更新方法(フォーム)

    access超初心者なので教えてください。 access2002を使用しています。 accessでフォームを作成しました。 フォーム内には、簡単な日付、時間、メモ的なフォーム欄があり、 日付と時間はオートで付与され、テーブル内で規定値に 日付:=Date() 時間:=Now() を設定しています。 上記2つは別々のフォーム欄に分ける必要があるんです。 そして、新規作成ボタンを作り、クリックすることで、 入力したデータはテーブルに保存されます。 ここで質問なんですが、新規作成ボタンをクリックすることで、 今まで入力していたものはテーブルに格納され、新しい日付と時間 がオートで日付と時間のフォーム欄に表示されるのですが、 この表示された日付、時間をより新しい情報に更新するにはどうしたら いいのでしょうか? 分かりづらくてすみません。 例を出します。 日付:2008/05/09 時間:13:55 メモ:テスト 上記を各フォームに入力し、新規作成ボタンを押します。 ↓ 上記情報がテーブルに格納されます。 ↓ 新しい日付と時間が表示され、メモ欄は空白の 新しいフォームが現れます。 日付:2008/05/09 時間:13:56 メモ:(入力待ち状態) この時、新規作成ボタンを再度クリックしても、時間が更新されず、 テーブルにも格納されません。 テーブルに格納されないのはいいことなんですが、時間が更新されない のは困るんです。。。 新規作成ボタンを押すごとに、時間が更新されているようにするにはどうしたら いいのでしょうか? (新規作成ボタン以外に新たに時間更新用のボタンを作ることも対処の視野に入れます)

  • フォーム内のデータをすべて更新したい

    フォーム内のデータをすべて更新したい ACCESSでデータ入力ができるようにフォームを作成しました。 わりと頻繁に同じ様な内容のデータを入力することがあり、レコードのコピーをボタンウィザードのレコードの複製を使わず、選択しているレコードで必要な部分のみをコピー用に用意したテーブルに追加して、追加したテーブルから元のテーブルに追加するというマクロを作成しました。 テーブルにはデータは追加されているのですが、フォーム上には「F5キー」やメニューの「すべて更新」ボタンをクリックしないとフォーム上に現れません、マクロ「再クエリ」や「コマンドの実行」-「最新の情報に更新」を入れてみましたが、「F5キー」やメニューの「すべて更新」ボタンをクリックした時のような動作はしてくれませんでした。 どういったマクロを作ればよいかご教示いただけないでしょうか。 緒ろしくお願いいたします。 ACCESS 2007を使っています

  • ACCESSでフォームを使って、テーブルを参照、データ入力、データ更新をしたいのです

    フォームを使って、テーブルを参照、データ入力、データ更新をしたいのです。 売上テーブル  ID   商品コード  日付    金額   1    G1     20080101  532153  2    G1     20080101  564281  3    G1     20080301  538123  4    J4     20080301  124531  5    J4     20080302  125483 ID:オートナンバー 商品コード:数値型 日付:数値型 金額:数値型 これを使い、 フォームではまず レコードナンバーを入力画面        ↓ レコード番号を入れると、そのレコードのデーターが画面に表示され、 その画面で修正可能        ↓  保存 ボタンで保存 という流れです。 レコードナンバーはIDを使おうと思っています。 データの量が莫大な為、コンポボックスなどは使えません。 できるだけ、VBAなどは使わずに作りたいです。 よろしくお願い致します。

  • AXXESSでフォームに表示されているレコードを更新する方法

    いつもありがとうございます。 今回もACCESSの質問です。 顧客マスタを作成し、フォームからフィルターで抽出したレコードが画面に表示されています。 コマンドボタンを押す事でこのレコードの特定のフィールドを更新したいと考えています。 ADOでレコードセットをOPENし、FindしてUpdateする方法だとレコードの競合が発生してしまいます。 簡単にできる方法があるような気がしますが思いつきません。 どなたかお助けをお願いします。

  • Accessであいまい検索するフォームをつくってみたんですが?

    Accessの初心者です。 本などをみながらあいまい検索ができるようなフォームをつくってみましたがフォームを開いた時、全レコードが表示されてしまいます。 クエリーの抽出条件はLike "*" & Forms!フォーム1!テキスト0 & "*"にしてテキストボックスプロパティの更新後処理でDoCmd.Requeryとしました。(意味がよくわからないんですけど) フォームを開いた時やテキストボックスになにも入力されていない時、全レコードが表示されないようにするにはどうすればいいのでしょうか? よろしくお願いします。

  • Accessのフォームを更新させるには

    Access2000を使用しています。 レコードを検索できるように同フォーム内にリストボックスを老いています。 そのリストボックスにはこれまで入力した人の名前が列挙されています。 そのリストボックスのだれかをクリックするとその人のレコードに移動するようフィルタでマクロを使っています。 新しいレコードを入力すればそのリストボックスにそのレコードの名前が追加表示されると思ってたのですが、されません。 閉じて拓き直すとちゃんと更新されてそのリストボックスに新しい名前が表示されます。 閉じて開き直さなくてもよいようにするにはどうしたらよいのでしょうか? わかりずらい文面とは思いますが、わかる方宜しくお願いします。

  • Accessのフォーム更新方法

    現在、Accessにて家計簿を作っているのですが・・・。 始めにトップページとなるフォームを表示し、そこに今年の支出金額と入力フォームを開くボタンを表示してあります。 入力フォームを開いてもトップフォームは閉じず、後ろで表示されたままです。 入力フォームで使った金額などを入力して閉じると後ろに表示されたままのトップフォームにアクティブが戻るのですが・・・この方式だとトップフォームに表示してある今年の支出金額が、一度トップフォームを閉じて開きなおさないと最新の情報に更新されません。 入力フォームを開く際にトップフォームを閉じ、入力フォームを閉じる際にトップフォームを再度開くというやり方なら支出金額も最新の情報が表示されるのですが、どうしてもトップフォームを開いたままで入力フォームを開き、入力終わって閉じたらトップフォームの支出金額が自動で更新されるというやり方をしたいので、知識のある方がいましたらご指導お願いいたします。 つまるところ、フォームを閉じずにそのフォームにある、クエリを参照にしたテキストボックスの内容を最新の情報に更新する方法を教えてくださいと言うことですw 分かりにくくてすみません。

  • 編集した場合のみボタンを表示する

    Access97を使用しています。 フォームでデータを変更した場合のみ登録ボタンを表示させるには どのように設定したらよいでしょうか。 登録ボタンを押すと更新日を設定しレコードを保存するように マクロを設定してありますが、現状、レコードを変更しなくても エンターキーを押し続けると最後に登録ボタンを押してしまい、 更新していないのに更新日付が設定されてしまいます。 レコードを更新した場合のみ登録ボタンを表示するか、または 登録ボタンが押された時に、レコードの更新状態を調べてマクロを 振り分けるようにするにはどうしたらよいでしょうか。 ちなみに、レコードが変更されていない場合は次のレコードへ移動させたいです。

専門家に質問してみよう