• ベストアンサー

ACCESSフォーム入力後の確定

こんにちは。 初歩的な質問ですみません。 Access2003で名簿を作っており フォームに印刷ボタンを作り where条件で顧客名を拾ってその人のカルテが出るようにしてあります。 ですが、新規入力後すぐに印刷したいとき レコードがまだ確定されていないのか、うまく機能しません。 なので、いったん前後のレコード画面を開いてから もう1度戻って、印刷ボタンを押しています。 手間がかかるので、何か良い方法はないでしょうか?

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

  • ベストアンサー
  • venzou
  • ベストアンサー率71% (311/435)
回答No.2

VBAの場合は、印刷の前に下記のような、 レコードを保存するためのコードを追加します。  Me.Refresh マクロの場合は、印刷前に下記を追加。  コマンドの実行:レコードの保存

yukipong
質問者

お礼

なるほど。マクロに追加してできました! ありがとうございます☆☆

その他の回答 (1)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

新規入力したものがテーブルに格納されるのは 1.他のレコードに移動したとき 2.フォームを閉じたとき(Accessを終了したときも含まれる) 3.保存コマンドを発したとき の3つです。 入力しただけでは保存されていません 印刷ボタンを押して走らせるコードの前にレコードを保存する コードを付加してください

関連するQ&A

  • Accessフォームからのデータ登録について

     表題ではなんのことかわわからないと思います。 詳しく説明するのでみていただけますか。 顧客テーブルにレコードを追加、変更するため下記のようにしました。 (1)メインメニューで「顧客登録」ボタンをクリックする。 (2)顧客登録フォームを開く。この際埋め込みマクロのWhere条件式で [顧客コード]=[顧客コードは?]と指定する。 (3)該当のレコードがあればレコード内容が顧客登録フォーム上に表示される。   該当のレコードがなければ(新規登録)空の顧客登録フォームが表示される。 この時、フォーム上の顧客コード欄もブランクのため再度顧客コードを入力する ことになります。 二度手間を避けるため、一度入力した顧客コードを空のフォーム上に表示させるには どうすればいいでしょうか。 それから別の質問になるかもしれませんが、当初は(2)では単に空のこ登録フォームを 表示させ、顧客コードを入力しEnterキーを押した時に(3)に進むようにするつもりでした。 (通常はこちらのやり方かと思いますが) しかし(2)から(3)へ進む際の処理の仕方がわからず最初に記したやり方にしました。 こちらのやり方でするにはどうすればよいかも教えていただければ幸いです。

  • Access2003

    Access2003で顧客名簿を作っています。 入会者をフォームで登録し そのままボタンで初回カルテを印刷するようにしました。 この時、申込コースによって レポートを変える方法を教えてください。 (ボタンをたくさん作る方法しかできませんでした(-_-;)) また、あるコースは レポートの書式は同じで、通う回数が4種類から選べるのですが フォームから数値を拾ってレポートの行数を変える方法などもあれば教えていただきたいです。 分かりづらい説明でごめんなさい。 よろしくお願いします。

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

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

  • Access2002レポートについて困ってます。

    現在データベース作成中です。フォームにコマンドボタンで印刷されるようにしたいのですが、現在開いているレコードのみを印刷してほしいのですが、方法がわからなく困っています。マクロで、Where条件などで式を入れるのでしょうが素人なものでまったくわからないんです。印刷プレビューで確認して、ページ指定での印刷はできるのですが、手間を省くためにボタンひとつで現在のレコードが印刷させるようにするにはどうのようにすればよいでしょうか?ご指導のほうよろしくお願いいたします。

  • アクセスのフォームで

    アクセスのフォームで、ボタンを作成し、新規データ入力に際にそのボタンをクリックすると入力したデータが確定となり、次のレコード(新規データ)の入力になる様にするにはどうしたいいですか? 逆に言えば、そのボタンをクリックしない限り、次の新規レコード入力へ行けない様にしたいです。又、ボタンをクリックしても空白の項目があれば次へ行けない様にしたいです。 教えて下さい。よろしくお願いします。

  • access2007 情報入力フォームの作成につい

    メインメニューのレイアウトで、情報入力ボタンと印刷ボタンを設定してあります。 情報入力ボタンをクリックすると「担当・顧客選択メニュー」に移ります。 「担当・顧客選択メニュー」の構成は 担当営業の選択 → コンボボックス 顧客情報(概要) → サブフォーム(担当営業コードで連結) となっており、担当営業を選択すると担当顧客がサブフォームに表示される 様になっています。 サブフォーム上の顧客番号をダブルクリックすると 「顧客情報入力フォーム」の同一顧客番号の情報へと移動し、顧客情報の 追加や編集がでいる様になっています。 今まで、直接「顧客情報入力フォーム」をあけると、画面下のレコード移動ボタンが 1/XXXXとなり、全顧客数と表示されている顧客が何番目の顧客であるかが 表示されていました。 今回、「担当・顧客選択メニュー」から上記の方法で「顧客情報入力フォーム」を 開けるとレコード移動ボタンの表示が1/1となり、その右にフィルタ適用と表示 されます。これの理屈は理解できるのですが、レコード移動ボタンを押すと 2/2となり、真白なブランクフォームが表示されてしまいます。 また、「担当・顧客選択メニュー」からダブルクリックで「顧客情報入力フォーム」へ 移動すると、同一顧客番号で移動しているはずが顧客番号がブランクの画面が 表示されてしまいます。「戻る」ボタンで再度同じ事をやると、今度はちゃんと 表示されます。 これがなぜそうなってしまうのか全くわかりません。 フィルタがかかっている状態で2/2となるのはなぜなのか、 ダブルクリックで同一顧客番号へ移動するはずが顧客番号なしのブランクフォームが 表示されるのはなぜなのか? お心当たりのある方、改善策のヒントを頂ければと思っております。 宜しくお願い致します。

  • Accessのwhere条件式について教えて下さい

    初歩的内容の質問ですみません。 Access初心者のため色々施行錯誤しながらやっているのですが、 行き詰まりました。 「フォームを開く」でWhere条件式の設定がうまくいきません。 フォームAにボタンをクリック時フォームを開くを設定しました。 開くフォームはフォームBです。 共通のフィールドの"顧客ID"でフォームを連動させてたいのですが、 where条件式に[顧客ID]=[Forms]![フォームB]![顧客ID]と入力しても反映されません。 フォームBの顧客IDの名前を替えても反映されず、何も表示されません。 ="[顧客ID]=" & =[Forms]![フォームB]![顧客ID]にするとエラーになります。 どのような式を入れると同じIDのものが表示されるようになりますか? 教えて下さい。 よろしくお願い致します。

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

    アクセス初心者です。 フォームA(メインとなる画面)でコマンドボタンをクリックすると フォームBが開くように設定しました。 フォームAでレコード1を入力時にコマンドボタンをクリックすると フォームBのレコード1に フォームAのレコード5を入力時にコマンドボタンをクリックすると フォームBのレコード5に移動してデータを入力できるようにすることは可能でしょうか?可能であればどのようにしたらよいでしょうか? 具体的には テーブル 社員NO、氏名・・・、希望地域(yes/no型)があります。 フォームA ・社員NO ・氏名など フォームB ・希望地域(チェックボックスでチェックする。複数選択可) フォームAを入力時にフォームBを開いて希望地域にチェックできる というようにしたいのですが、 フォームAからフォームBに移動するといつもレコード1が表示されてしまいます。 自分なりに試行錯誤しているのですがどうしてもできません。 よろしくお願いします。

  • 教えて!アクセス2007で、フォームに「検索」を作りたいのです。

    教えて!アクセス2007で、フォームに「検索」を作りたいのです。 フォームヘッダーにテキストボックスを作りそこで名前の検索を作るのにはどうしたら良いでしょうか? 顧客名簿から名前の検索です。 教えて下さい。

  • Access2002 フォーム上にないフィールドに入力するには

    フォーム上にあるボタンを押すと、あるフィールドに数値を入力する VBAを作りましたが、フィールドには入力されませんでした。 色々やってみたらフォーム上にフィールドが無いと入力されないようでした。 これはAccess2002の仕様なのでしょうか。 それともそのための表記があるのでしょうか。 例) 顧客ID = 1 単純にこれだけのことがしたいのですがうまくいきません。 よろしくお願いします。

専門家に質問してみよう