![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.4ベストアンサー
- 回答日時:
#2の補足への回答として
>私の勘違いかも知れませんがコントロールのフォーカス取得時のコードに・・
>やり方が間違っているのでしょうか?
コントロールのフォーカス取得時ではなく更新後処理のイベントに記述します。フォーカス取得時では直前に入力した値をデフォルト値に出来ません。
直前に入力した値をそのコントロールのデフォルト値にセットさせる記述なのでフォーカス取得時に記述してもダメです。
例えば氏名というコントロールの更新後処理に
Private Sub 氏名_AfterUpdate()
Me![氏名].DefaultValue = "'" & Me![氏名] & "'"
End Sub
とすると氏名コントロールに入力された名前をそのままデフォルトにセットしますので新しいレコードに移った時にコントロールに直前に入力した値(名前)を代入します。
直前に入力した値が必要な全てのコントロールの更新後イベントに記述すれば各コントロールに各々直前に入力された値をデフォルト値として表示します。
No.3
- 回答日時:
直前のレコードを参照(?)し入力することであれば
入力フォームにレコードの複製でコマンドボタンを作成することでいかがですか?
ボタンを押すたびに、現フォームに表示されているレコード(直前のレコードに限りません)を新規レコードに複写してくれます。
ご質問の趣旨と違っていたらごめんなさい。
この回答への補足
何かのアクションをして直前のレコードを取得するのであれば、Ctrl+2でよいのです。
そうではなくて、フォーカスを取得したときに自動で値を取得したかったのです。
自動で取得できればそのままエンターで飛ばせるので、大変効率が上がるのです。
No.2
- 回答日時:
>フォームでの入力時・・
どの様な状態で使うのか解らなければ回答のしようがありません。
入力した直前のレコードをフォームの各コントロールに自動で取得するようにするなら各テキストボックスなどのコントロールの既定値に直前のレコードの各フィールド値を動的に代入すれば直前のレコードと同じ値をフォーム上に取得できます。
フォームの各コントロールの更新後処理のイベントにデータ型によって既定値をセットします。
テキスト型の場合
Me![コントロール名].DefaultValue = "'" & Me![コントロール名] & "'"
数値型の場合
Me![コントロール名].DefaultValue = Me![コントロール名]
日付/時刻型の場合
Me![日付].DefaultValue = "#" & Format(Me![日付], "yyyy/mm/dd") & "#"
これでフォームで入力した値が既定値としてセットできるので新しいレコードに移った際にフォーム上に直前の値がコントロールにセットできます。
試してみてください。
フォームの起動時にも同様の処理をしたければフォームの開く時にDLastなどでテーブルの最終レコードを取得して各コントロールに代入すれば出来ます。
そこまでいらなければ各コントロールのセットのみで効率が上がると思いますが。(フォームを閉じた時にクリアになりますが)
>Ctrl+Vは勿論知ってますが、Ctrl+2となんら変わらないじゃないですか
ちなみに
Ctrl+2やCtrl+7やCtrl+'等とCtrl+Vは同じではありません。
何度もありがとうございます。
結果として、この方法では問題の解決になりませんでした。
私の勘違いかも知れませんが、コントロールのフォーカス取得時のコードに教えていただいたコードを
入れてみましたが、オブジェクトがありませんと止まってしまいました。
やり方が間違っているのでしょうか?
>>Ctrl+Vは勿論知ってますが、Ctrl+2となんら変わらないじゃないですか
>ちなみに
>Ctrl+2やCtrl+7やCtrl+'等とCtrl+Vは同じではありません。
おっしゃっている意味はわかります。
私が言いたかったのは操作方法としてCtrl+2とCtrl+Vは変わらないですねという意味です。
操作の結果が一緒だという意味ではありません。
No.1
- 回答日時:
>Ctrl+2のショートカット
>マクロなどで自動化したいのですが
Ctrl+2のショートカットキーを使って直前のレコードの同フィールドの値をコピーするということですよね。
テーブル上で使うという事なのでしょうか?
レコード単位にコピーしたいのならテーブルのレコードセレクタをクリックしてCtrl+Cでコピー、コピーしたいレコードの位置のレコードセレクタをクリックしてCtrl+Vで出来ますが・・。その方が簡単。
マクロを作って同様の処理を別の事で使いたいという事なのでしょうか?
この回答への補足
フォームでの入力時にCtrl+2を繰り返し使うのです。
ですから、これがフォーカス取得時やアクティブになった時に自動的にマクロなどで実行できれば
オペレーションの効率が上がるのです。
Ctrl+Vは勿論知ってますが、Ctrl+2となんら変わらないじゃないですか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのワークシートを簡単に別ファイルにする方法は? 5 2023/01/11 14:50
- Excel(エクセル) エクセルのショートカットの別のキーへ割当。Ctrl+CをCtrl+1へ変更など 3 2022/11/10 00:03
- Excel(エクセル) 【マクロ】プリントスクリーンした画像をエクセルに貼付して印刷したい 6 2022/11/30 20:11
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- iOS Windows OSにおける、ショートカットキーを受け取るソフトウェアの決定 5 2022/11/27 16:05
- その他(プログラミング・Web制作) Pythonでexcelのvbaを作成、実行する方法について Pythonで表の自動集計プログラムを 3 2022/07/09 09:58
- Excel(エクセル) 現在のセルの文字列を右隣のセルの名前にするマクロをつくりたい 4 2023/01/12 09:01
- 電子レンジ・オーブン・トースター 電子レンジの非科学的(カルト的)動作の原因について考えられる理由を知りたい 8 2022/11/29 14:47
- その他(プログラミング・Web制作) 新しいフォルダを作るbatファイルを作りたいです。 1 2022/10/15 00:41
- その他(ソフトウェア) LDPlayerのマクロの編集方法を知りたい 1 2023/03/04 11:46
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
選択したチェックボックスのみ...
-
アクセスのフォームのビューが...
-
Accessのフォーム上にレコード...
-
「メソッドまたはデータメンバ...
-
Accessフォームのテキストボッ...
-
ACCESSのフォームからデータの...
-
Access runtimeでテーブル、ク...
-
Access 別フォームへの再クエ...
-
Access2002 フォームを閉じるた...
-
ACCESS レポートへの表示・非表示
-
フォームを削除するVBA
-
dlookup関数が使えない
-
ACCESSでのテキストボックスの...
-
ACCESS2013で一部に四角枠をか...
-
AccessのCtrl+2の操作を自動化...
-
Access フォーム上でコンボボッ...
-
アクセスでテーブルの変更内容...
-
アクセスでのチェックリスト
-
ACCESSで議事録を作りたいので...
-
アクセス非連結フォームのテキ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのフォーム上にレコード...
-
ACCESSのフォームからデータの...
-
アクセスのフォームのビューが...
-
選択したチェックボックスのみ...
-
アクセスでテーブルの変更内容...
-
accessの自動更新処理をできな...
-
Access 別フォームへの再クエ...
-
アクセスでの項目追加について...
-
Accessフォームのテキストボッ...
-
ACCESSで入力フォームをHTMLフ...
-
Access2002 フォームを閉じるた...
-
Access フォーム上でコンボボッ...
-
「メソッドまたはデータメンバ...
-
ADOでRecordsetオブジェクトを...
-
テキストボックス(アクセス)内...
-
Accessのフォームで作業領域を...
-
Accessのフォームに表示...
-
アクセス 0以外をカウントす...
-
テキストボックスの値をテーブ...
-
ACCESSで、フォームのレコード...
おすすめ情報