Accessのフォームを更新する方法について

このQ&Aのポイント
  • Access2000を使用している場合、フォームの更新方法について説明します。
  • リストボックスを使用してレコードを検索し、フィルタとマクロを使用してレコードに移動することができます。
  • 新しいレコードを入力すると、リストボックスに自動的に表示されるようにするための方法を教えてください。
回答を見る
  • ベストアンサー

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

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

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

  • ベストアンサー
回答No.1

リストボックスは、デザイン時にテーブル(またはクエリ)を設定しておけば、 フォーム読込時に一度だけテーブル(またはクエリ)の内容を参照して列挙します ※VBAにて、読込後に変更をいれるのであればこの限りではありませんが... リストボックスのプロパティ「値集合タイプ」は"テーブル/クエリ"ですか? であれば、下記処理を行うと最新情報に更新されます Me.リストボックス名.Requery では、この処理をどこに入れるかというと好みによります 明示的に更新したいのであれば、 コマンドボタンを配置し、そのコマンドボタンのイベントによって処理させます 例えばこのように、 Private Sub Command_Click()   Me.リストボックス名.Requery End Sub また、あたかも自動的に行いたいという場合には、 フォームのレコード移動時のイベントに下記のようにします Private Sub Form_Current()   If Me.NewRecord = True Then     Me.Lst.Requery   End If End Sub ※新規レコードの時のみ処理されます 自動で追加される場合のみだけではなく、 削除された場合のことも考えると もう一工夫必要ですね

Scotty_99
質問者

お礼

回答ありがとうございます。お礼おそくなりました。よくわかりました。結局、後者にしました。とても参考になりました。

関連するQ&A

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

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

  • アクセスのフォームを開くときに新しいレコードへ移動するには?

    アクセスの入力用のフォームを開くときに、新しいレコードへ移動させて、すぐに入力ができるようにしたいのですが、マクロを使っても「レコードセットの最後のレコードよりも後に移動することはできません」のエラーメッセージが出てしまい、新しい入力ができなくなってしまいました。プロパティの更新の許可、追加の許可、削除の許可はいずれも「はい」にしています。どうすれば新しいレコードの入力ができるのでしょうか?困ってます。

  • Access コンボボックスへのレコードの更新

    サブフォームにコンボボックスを設置しており、リストに無い場合に追加登録するためのフォームを開くボタンを作ってあります。 このボタンからフォームを開き追加して閉じたあと、メニューのレコードの更新をしないと元のサブフォームのコンボボックスに反映されません。 自動ですぐに反映させる方法、またはレコードを更新するボタンの設定方法を教えて下さい。 宜しくお願い致します。

  • アクセス フォームのマクロに関して

    アクセスでマクロにてフォームを閉じるを選択しているのですが 新規レコードが必ず追加されてしまいます。 そのフォームはデータ入力用のフォームなのですがデータ入力終了時 テキスト欄をすべて空白でマクロの閉じるを実行させると 必ずテーブルに空白の新規レコードが入力されてしまいます。 なにかいい方法ありますでしょうか?

  • Accessのフォームで入力規制したい

    お世話になります。またまた、教えていただきたく投稿させていただきました。 Accessのフォーム内に、コンボボックス(値リスト)を作り、プロパティの”規定値”として、”選択必須”と入力してます。 それを選択しないとレコード追加できないようにしたいのですが、入力規制に「Not "選択必須"」と入力してみたのですが、選択必須のままでレコード追加ができてしまいます。 どのように書けば追加できないようになるんでしょうか?すみませんよろしくお願いします。

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

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

  • Filemakerで検索フォームを作りたい

    Filemaker 11 Pro Advanced で、以下の様な機能を持つフォームを作成したいと思っております。 1.フォームがあり、そこに検索ボックスがある。 2.そこの検索ボックスで検索すると、データベースA上から該当するレコードを検索し、同フォーム上にリスト表示 3.そのあと、その検索結果のレコードをダブルクリックとかなんとかすると、そのレコードのいくつかの情報が、フォームに自動入力される。(このフォームに入力すると、データベースBに書き込まれるものとします) 4.さらに、入力者が追加情報をフォームに書き込んで終了。 Filemaker初心者なもので、1番から3番をどうやって実装するのかどうかがわかりません。 お手数ですがご教授お願いいたします。 また、Filemakerの入門レファレンスのWebや書籍があればそちらも教えていただければ幸いです。

  • Accessでレコードの保存をせずにフォームを閉じたい

    Accessでデータベースのレコード追加を行うフォームを作成しています。 コマンドボタン(1)をクリック→新しいレコードの追加 コマンドボタン(2)をクリック→フォームを閉じる としています。(ウィザードを使用して、埋め込みマクロ?を設定しています。) コマンドボタン(1)でレコードが追加されるのは問題ないのですが、 コマンドボタン(2)をクリックした場合も、レコードが追加されていることに気がつきました。 一般的に入力する人は、 データを追加しようと思って入力していたけれど、 途中でやめてフォームを閉じることってありますよね? そういう場合にレコードが追加されてしまったら問題だと思ったのです。 ですが、どうしたらレコードの追加をせずにフォームを閉じられるかがわかりません。 それって可能でしょうか? Access初心者です。難しいVBAとかはまだよくわかりません。 何か方法、アドバイス等ありましたら よろしくお願いします。

  • ACCESS 合計の更新

    Accessにて、メイン・サブ形式のフォームがあります。 サブフォームには、取引のデータを入力するように設定しています。 ●サブフォーム  日付 重量 ・・・  メインのフォームには、サブフォームの合計の重量を表示させています。 サブフォームにて、重量を入力したときに、合計を更新させたいのですが、 次のレコードに移るなどしないと更新されませんよね? そこで、次のマクロを試してみたのですがうまくいきませんでした。 マクロにて、コントロールの更新後に  ・再クエリ  ・最後のレコードに移動(サブフォームを指定)  ・コントロールの移動 結果は、サブフォームが開いていませんというエラーが表示されます。 重量の間違いをなくすためにも、重量を入力または、更新したときに、 合計の重量も更新したいので、どなたかご教授願います。

  • phpl更新フォーム

    入力フォームより、DBに登録した内容を更新フォームに表示したいと考えております。 テキストボックスやラジオボックスの値を、更新フォームに表示するには、どのように記述 すればよいのか教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう