• ベストアンサー

アクセスのフォームで立ち上げと同時に新規レコードを出したい。

先日、いろいろと教えていただいたおかげで、なんとか植木鉢の管理表が出来、ぽつぽつとデータを入力しています。 が、当方相当そそっかしいもので、入力のためのフォームを立ち上げつい、そのまま入力してしまい、何回1番先頭のレコードを書き直した事か・・・。 そこで、フォームを立ち上げた時に自動的に新規レコードに書き込める状態にするか、フォーム上からではデータの訂正が出来ない(変更はフォームでなくテーブルから行う)様にする方法は無いでしょうか?

  • Hauyne
  • お礼率81% (117/144)

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

>データベースウィンドウからフォームを選択、使いたいフォームを >ダブルクリックもしくは実行で起動しています データベースウィンドウから追加モードでそのまま立ち上げるにはフォームのプロパティのデータにあるデータ入力用を[はい]にしておかないとできません。そうすると更新用のフォームも別に必要になってしまいます。 メニューのツールにあるデータベースユーティリティにメニュー用フォームビルダというのがあります。簡単なメニューフォームを作れるビルダです。 メニューフォームを作る際にコマンドで[追加モードでフォームを開く]がありフォーム名を指定すると追加モードでフォームを開くことができます。 その他編集モードで開いたり色々設定できますので一度試してみてください。簡単に設定できます。 ツールの起動時の設定でフォーム/ページの表示でそのメニューフォームを設定するとmdbを起動するといつもメニューフォームが立ち上がります。

その他の回答 (3)

  • sanbit
  • ベストアンサー率32% (16/50)
回答No.4

>フォームを立ち上げた時に自動的に新規レコードに書き込める状態に 入力フォームのプロパティ→イベントタブの開く時のコードビルダ選択し DoCmd.GoToRecord , , acNewRec としてください。 これで自動的に新規レコードに書き込める状態になります。 蛇足ですが、入力フォームにレコード移動、操作のコマンドボタンを作成すると便利ですよ、 (先頭レコードへ移動、前のレコードへ、新しいレコード追加など)

  • piyotty
  • ベストアンサー率44% (62/138)
回答No.2

フォームのプロパティで「データ入力用」を「はい」にするのではいかがでしょうか。 開くと、新規レコードのみが表示されるようになります。 このやり方ですと、「入力用フォーム」と「検索・更新用フォーム」を用意した方が使いやすいかもしれません。

  • musimusi29
  • ベストアンサー率14% (188/1274)
回答No.1

マクロでそのフォームを開くとき(開くアクションのマクロを作成する)に、データモードを編集ではなく追加にすれば常に新規レコードになりますよ。

Hauyne
質問者

補足

早速の回答ありがとうございます。 現在、フォームを開くのにマクロを使用していません。アクセスを立ち上げて最初に出てくるデータベースウィンドウからフォームを選択、使いたいフォームをダブルクリックもしくは実行で起動しています。新規のレコードを出すにはやはりマクロを使用しないと出来ないのでしょうか?

関連するQ&A

  • access 現在のレコードが先頭から何番目?

    お世話になります access97ですがそれ以降のバージョンとしても回答でも助かります テーブルAを基に作成したフォームがあり、テーブルAの各データに対応するフォームとなっています テーブルのレコードが例えば3番目のデータを表示するフォームであれば そのフォームのテキストボックスに 3 と 表示されるようにしたいのですが、 あらかじめ用意されている関数には なさそうです エクセルではmatch関数などあるようですがaccessではVBAで作成しないとならないでしょうか もしそうだとしましたら どのようなコードになりますか 例えば学生さんの履修科目の試験の成績を入力したテーブルがあるとして 各学生さんに対応するフォームが1枚ずつできるイメージです 各人のID番号を先に作成して それをフォームに表示するのではなくて テーブルのなかの第何番目かの数値をフォームに表示したいのですが どのようにしたら よいものでしょうか フォームの下のほうにレコードカウントが アクセスには デフォルトでありますが その数字を 自動的に フォーム上に表示したいというわけです 要は新規に入力するデータが 第何番目かを自動的に判別して 新しい帳票フォームの あるテキストに自動で表示したいというわけです わかりにくくて すみませんが お知恵をお貸しくださいませ 宜しくお願い致します

  • Accessの新しいレコード

    すいません、教えてください。 英語の講師をしてます。 昨年度までのセンター試験の問題をAccessに入力して管理しているのですが、その表に今年のデータを入力しようとしています。 新しいレコード(今年の問題)を表のいちばん上(IDがいちばん若いところ)に入れたいのですが、入りません。新しいレコードを入れようとすると、自動的にいちばん下の、IDが最も大きいところに入ってしまいます。ワードのように行挿入というのが見あたりませんし、コピペで差し込もうとすると前のデータが消えてしまいます。 なんとかIDのいちばん若いところに新しいデータを入力することはできないでしょうか。 すいませんが、教えてください。

  • Accessフォームの操作で

    2つの別々なフォームがあります。 それぞれのフォームの基になっているテーブルが別々にあります。 ひとつはデータが入力されているテーブルで もうひとつはフォームから入力していく空のテーブルです。 データが入力されているフォームでは、データ抽出するサブフォームを持っていて、 そこにあるレコードセレクタをダブルクリックすると もうひとつの空のテーブルから作成したフォームにデータを入力していくようにしたいんですけど、うまくいきません。 乱文でわかりにくいとは思います。 ご迷惑をおかけしますが教えてください。 よろしくお願いします。

  • Accessのフォームから削除したレコードをテーブルに保存したい

    Accessを利用してフォームからデータを入力しているのですが、クエリを使わずフォーム画面から不必要なレコードをコマンドボタンで削除しています。削除したレコードをテーブルに保存したいのですが、追加クエリで条件を決めずにフォームの画面から判断したレコードだけを削除し、かつ削除したレコードを削除専用のテーブルに追加する方法を教えてください。よろしくお願いします。

  • アクセス2000のフォームについて

    アクセスでまたつまずいてしまいました。ちょっと教えてください。 複数のテーブルから選択クエリを作り、それを基にオートフォームでフォームを作ったのですが、フォームでデータの入力が出来ません。クエリでもデータの入力が出来ません。 「このレコードセットは更新できません」と下のほうに出ます。 フォームのプロパティのデータの更新の許可と、データ入力用のところは“はい”になっています。 私では原因がわかりません。わかりにくい質問でしょうが、どなたかご指導お願いします。

  • Access アクセス VBA レコード追加

    Access フォームからのレコードの追加方法を教えてください。 テーブル1 ・ID(主キー) ・窓口 ・コストセンター ---------- テーブル2 ・コストセンター(主キー) ・目的 ---------- リレーションシップ テーブル1のコストセンターとテーブル2のコストセンターを一対多 ---------- メインのフォームに”ID”を入力したときにテーブル1に一致するレコードがない場合、新規登録用のフォームが表示されるようになっています。 新規登録用のフォームにレコードを入力してもテーブルに反映されません。 新規登録用のフォームは下記のように作成しています。 また、フォームに”コストセンター”を入力したときに入力したレコードがテーブル2にあっても自動で”目的”が表示されません。 メインフォームにはサブフォームで各テーブルが表示されています。 フォーム ・ID(初期値•••メインで入力したID) ・窓口 ・コストセンター ・目的 ・コストセンター(非表示) 上から順に ・テーブル1 ・テーブル1 ・テーブル2 ・テーブル2 ・テーブル1

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

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

  • MSアクセスのフォームで、レコード番号を取得するには?

    こちらのカテゴリーにも質問させて下さい。 MSアクセスのフォームで、表示されている表の中でフォーカス(カーソル?)のあるレコード番号(先頭から何番目か)を取得するにはどうしたらいいですか? ID番号はオートナンバーになっているので、途中削除されていると、先頭からの番号は狂いますよね。 例えば No=Rcord.Index ’先頭からの通し番号 とかって、できないでしょうか? たぶん、とっても簡単なことなんでしょうが、勉強不足でお願いします

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

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

  • Accessでフォームからレコードの追加について

    Access2016をWindows10で利用しています。 あるテーブルの単票形式のフォームをフォームウィザードから作成しました。 入力規則などがテーブルの各列の設定に沿って作成されていてとても便利なのですが、フォームにいくつか値を入れた時点でレコードが新規追加されてしまいます。 レコードの追加を、すべての入力が終わって「新規追加」ボタン(あとから自分で作成)を押してから行いたいです。 レコードウィザードを使わずにフォームを作成し、フォームの値とクエリを結び付けてボタン押下時にクエリを実行する、というフォームにすれば実現できると思うのですが、それはなかなか手間がかかってしまうので出来るだけ簡便に実現できたらと考えています。 細かい話なので参考ページ、あるいはヒントになる検索キーワードを教えていただけないでしょうか m(‗ ‗)m ?

専門家に質問してみよう