フォームの内容をコピーする

こんにちは。伊川(@naonaoke)です。

私が、ACCESSで一番初めに作成したシステムを紹介します。

恥ずかしいコードなのですが、この機会に紹介します。







問題提起

 

(株)IKAWAの阿久 世子男(アク セスオ)は上司から下記の依頼を受けました。

フォームに入力した内容をコピーして、他のシステムに貼り付けしたい。

どのようにコードを書いたらいいだろうか?








解決策

 

回答
sesuo2.jpg
・Chr(13) + Chr(10)で改行する。







Chr(13) + Chr(10)とはなにか?

CharCode

Constantsの定数

内容

Chr(0) vbNullchar NULL文字
Chr(8) vbBack バックスペース文字
Chr(9) vbTab タブ文字
Chr(10) vbLf ラインフィード文字
Chr(13) vbCr キャリッジリターン文字
Chr(10)&Chr(13) vbCrLf 改行文字

上の表をみてください。

引数Charcodeで指定したASCIIコードに対応する文字列を返します。

なにがなにやら、わかりませんでした。

しかし、Chr(13) + Chr(10)は、私にとって救世主でした。

改行コードと全く同じ意味合いなのです。

しかし、Chr(13) + Chr(10)ではなくてはならないのです。







Chr(13) + Chr(10) 作成手順その1 フォームを確認


契約書番号を入力した場合に、向かって右の備考に転記します。


上の図のようにします。







Chr(13) + Chr(10) 作成手順その2 コードを確認する

フォームをデザインビューで開きます。


上の図の赤枠をみてください。

このコードで改行してメモを見やすくしています。

“■契約書番号:” & [契約書番号] & Chr(13) & Chr(10) & ”


備考のフィールドに、上のようなコードをそのまま入力します。



メモコピーには、上の図のコードを入力します。









Chr(13) + Chr(10) 作成手順その2 完成形

こんな感じになりました。

これが、私が最初に作成した成果物になりました。







ここがポイント

 

ここがポイント
Function8.png
フォームに入力するのが、vbCrLfでは作動しません。Chr(10)&Chr(13)は関数です。vbCrLfは定数です。

MsgBoxでの開業なら、vbCrLfで十分です。

しかし、Chr(10)&Chr(13)は、クエリでも、フォームでも、MsgBoxでも利用できます。

 







スポンサーリンク

まとめ

今回のまとめ
sesuo6.jpg
今回のフォームを作成するのに、本当に悩みました。どの本にも記載はありませんでした。

しかし、このフォームが完成したときは、本当に感動しました。

小さな成果物を積み重ねて、スキルアップしましょう。

今回のサンプルファイルは、No77です。

サンプルファイル
VBAを勉強中の悩みを解決
  • なんで動かないの?
  • もうやだ!
  • どこにも情報がない!
スポンサーリンク

Twitterでフォローしよう

おすすめの記事