プロが教えるわが家の防犯対策術!

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

A 回答 (4件)

ショートカットキーで 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

これで直前に入力した値が新規レコードに規定値として適用されます。
まずはショートカットキーからですかね。
    • good
    • 1
この回答へのお礼

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

お礼日時:2011/02/25 09:40

質問者さん、ごめんなさい。

ちょっと引っかかってしまったのでご容赦。

layy さんは実際にご自身で入力作業をひたすら行ったご経験はおありなのでしょうか?

※ショートカットキーを使う場合
テーブルや帳票フォームでは直前のレコードが見えますので
>利用者の記憶に委ねられる
はナンセンスかと?

>左手使うし
マウスでやれということですか?キーボードからマウスに手を伸ばす時間のほうが
もったいないと思いますが。両手があるのだから使わないとね。

>実務ではわざわざシート表示変えて下さい、なんて言えないだろうし
切り替える必要はありません。
テーブルでもクエリでも帳票フォームでも単票フォームでも基本的に可。

>質問者のスキルで対応策が変わる。
質問者さんは初めて間もないとおっしゃっています。
これで考えられる『具体的な回答』を提示してもらいたいものです!

>新たな小さいフォーム作って既存データ候補一覧なんかでもよさそう。
>選んだ行をメインのフォームに貼付け。1件前でも昨日のでも選べる。
実際に作業をやってみれば(あるいは傍で観察)分かりますが
フォームの切り替えが手間です。
キーボードでもマウスでも選択する件数は20件程度を越すと
リストから選ぶよりは直接入力した方が速いことになります。
実は選択間違いがとても怖い!
それに質問者さんは
>テキストボックスで1件目の入力データの内容を2件目入力するときに、・・中略・・同じ場合は入力を省きたい
との質問です。

VBAでの回答の場合はフォームでしか出来ませんが
重複する部分が有りますので省きますが、帳票フォームでも単票フォームでも可能です。

現実的な回答とはとても思えません。
    • good
    • 2
この回答へのお礼

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

お礼日時:2011/02/25 09:48

既存回答では実務に使うには物足りないだろう。



左手使うし、同じか違うかは利用者の記憶に委ねられる。
入力してトイレとか割り込み、何だったか忘れてとりあえずCTRL+'押してみるかっていうのはありえる話。

実務ではわざわざシート表示変えて下さい、なんて言えないだろうし、そこをなんとかして作りこんでナンボ。

クエリは使えるか。マクロはどうか。VBAはたぶんまだだろう。DLOOKUPみたいな関数はどうか。質問者のスキルで対応策が変わる。

新たな小さいフォーム作って既存データ候補一覧なんかでもよさそう。選んだ行をメインのフォームに貼付け。1件前でも昨日のでも選べる。

アクセスの仕掛けとして対処方法はある。
    • good
    • 0

フォームの表示を ” 表形式 ” にして ・・・・


入力する フィールド の テキストボックス(Exellで云う セル )で
> (Ctrl + 7 (テンキーではない7です (^^ゞ )) <
とすれば 表示されて居る 1つ上の値が ペースト 出来ます。

これさえ覚えて置けば 中級までは OK です。

テーブルでも クエリーでも 使えます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/02/25 09:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A