pickup

目次

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

こんにちは。伊川(@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) & "■契約書番号:" & [契約書番号] & Chr(13) & Chr(10) & "■契約日時:" & [契約日時] & Chr(13) & Chr(10) & "■商品名:" & [商品名] & Chr(13) & Chr(10) & "■契約者電話番号:" & [契約者電話番号] & Chr(13) & Chr(10)

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



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

Private Sub コマンド39_Click()

With Me.[備考]

  .SetFocus
DoCmd.RunCommand acCmdCopy

End With

End Sub



Private Sub コマンド40_Click()
DoCmd.RunCommand acCmdSaveRecord
DoCmd.GoToRecord , , acNewRec
End Sub







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

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

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







ここがポイント

 

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

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

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

 







スポンサーリンク

まとめ

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

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

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

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

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事