• ベストアンサー

ACCESS フォームで入力データを残したいです。

いつもお世話になっております。 今回はACCESSについてご指導お願い致します。 テーブルからフォームを作成したのですが、テキストボックスで1件目の入力データの内容を2件目入力するときに、そのまま残しておきたいのです。 テキストボックスには日付や品番など入力していくのですが、同じ場合は入力を省きたいと思っています。難しいでしょうか・・? 最近ACCESSの勉強をはじめたところなので、用語などもほとんどわかりません。 宜しくお願い致します。

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

ショートカットキーで Ctrl + ' (Ctrl + 7 (テンキーではない7です (^^ゞ )) で直前値のコピーが出来ます。これはテーブルやフォームでも利用可。 新規レコード時に自動的に行いたいのなら、例えば フィールド名とデータ型が T→テキスト型 D→日付型 N→数値型 としたら フォームをデザインビューで開いて それぞれの更新後処理の右側の欄をクリック すると▼・・・が現れますので、三点リーダみたいなほうをクリック Tのコントロールの場合なら Private Sub t_AfterUpdate() End Sub となりますから、この間にMe!T.DefaultValue = "'" & Me!T.Value & "'"を入れ Private Sub T_AfterUpdate() Me!T.DefaultValue = "'" & Me!T.Value & "'" End Sub としてください。 データ型によって記述が変わります。テキスト型は、' で括る必要があります。 日付型なら # で括って Me!D.DefaultValue = "#" & Me!D.Value & "#" 数値型なら何もせず単純に Me!N.DefaultValue = Me!N.Value これで直前に入力した値が新規レコードに規定値として適用されます。 まずはショートカットキーからですかね。

s-akane
質問者

お礼

できました!ショートカットキーでもVBAでもできました!でもVBAとは思っていなくて、すみませんでした。MOUSE ACCESSの本を2冊勉強しただけで、無理やり高度なことを考えてしまったようです。ご説明の内容がわかりやすかったので、今回は助かりました。少しずつ勉強していきます。ご指導ありがとうございました。

その他の回答 (3)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.4

質問者さん、ごめんなさい。ちょっと引っかかってしまったのでご容赦。 layy さんは実際にご自身で入力作業をひたすら行ったご経験はおありなのでしょうか? ※ショートカットキーを使う場合 テーブルや帳票フォームでは直前のレコードが見えますので >利用者の記憶に委ねられる はナンセンスかと? >左手使うし マウスでやれということですか?キーボードからマウスに手を伸ばす時間のほうが もったいないと思いますが。両手があるのだから使わないとね。 >実務ではわざわざシート表示変えて下さい、なんて言えないだろうし 切り替える必要はありません。 テーブルでもクエリでも帳票フォームでも単票フォームでも基本的に可。 >質問者のスキルで対応策が変わる。 質問者さんは初めて間もないとおっしゃっています。 これで考えられる『具体的な回答』を提示してもらいたいものです! >新たな小さいフォーム作って既存データ候補一覧なんかでもよさそう。 >選んだ行をメインのフォームに貼付け。1件前でも昨日のでも選べる。 実際に作業をやってみれば(あるいは傍で観察)分かりますが フォームの切り替えが手間です。 キーボードでもマウスでも選択する件数は20件程度を越すと リストから選ぶよりは直接入力した方が速いことになります。 実は選択間違いがとても怖い! それに質問者さんは >テキストボックスで1件目の入力データの内容を2件目入力するときに、・・中略・・同じ場合は入力を省きたい との質問です。 VBAでの回答の場合はフォームでしか出来ませんが 重複する部分が有りますので省きますが、帳票フォームでも単票フォームでも可能です。 現実的な回答とはとても思えません。

s-akane
質問者

お礼

ありがとうございます(T_T)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

既存回答では実務に使うには物足りないだろう。 左手使うし、同じか違うかは利用者の記憶に委ねられる。 入力してトイレとか割り込み、何だったか忘れてとりあえずCTRL+'押してみるかっていうのはありえる話。 実務ではわざわざシート表示変えて下さい、なんて言えないだろうし、そこをなんとかして作りこんでナンボ。 クエリは使えるか。マクロはどうか。VBAはたぶんまだだろう。DLOOKUPみたいな関数はどうか。質問者のスキルで対応策が変わる。 新たな小さいフォーム作って既存データ候補一覧なんかでもよさそう。選んだ行をメインのフォームに貼付け。1件前でも昨日のでも選べる。 アクセスの仕掛けとして対処方法はある。

  • 007MUKADE
  • ベストアンサー率41% (286/694)
回答No.2

フォームの表示を ” 表形式 ” にして ・・・・ 入力する フィールド の テキストボックス(Exellで云う セル )で > (Ctrl + 7 (テンキーではない7です (^^ゞ )) < とすれば 表示されて居る 1つ上の値が ペースト 出来ます。 これさえ覚えて置けば 中級までは OK です。 テーブルでも クエリーでも 使えます。

s-akane
質問者

お礼

ありがとうございます。ご指導いただきましたショートカットキーは、メモを残さなくても忘れないと思います。また何かありましたら、宜しくお願い致します。

関連するQ&A