#375 カレント行の内容を新規レコードにコピーする方法(その2) フォーム、VBA

現在カーソルがある行の内容を新規レコードに追加コピーする方法です。

ここでは、単に現在の内容をそのままコピーするのではなく、何らかの加工を行ってから新規レコードに追加貼り付けしたいようなときに使う方法を説明します。

次の例では、フォーム上の[コピー]ボタンのクリックによって処理を実行します。ここではまず、カレント行の各テキストボックスの内容を変数に保存します。そして、新規レコードに移動したあと、任意の加工を施しながら、テキストボックスごとにその値の代入を行っていきます。

Private Sub cmdCopy_Click()
'[コピー]ボタンクリック時

  Dim Data1, Data2, Data3, Data4, Data5, Data6, Data7

  'カレント行の各値を変数に保存
  Data1 = Me!得意先名
  Data2 = Me!担当者名
  Data3 = Me!部署
  Data4 = Me!郵便番号
  Data5 = Me!都道府県
  Data6 = Me!住所1
  Data7 = Me!電話番号

  '新規レコードに移動(DoCmd.GoToRecordでも可)
  Me.Recordset.AddNew

  '変数の値を加工して代入
  Me!得意先名 = Data1 & "コピー"
  Me!担当者名 = Left$(Data2, 2)
  Me!部署 = Data3
  Me!郵便番号 = Data4
  Me!都道府県 = Data5
  Me!住所1 = Mid$(Data6, 5)
  Me!電話番号 = Replace(Replace(Data7, "(", ""), ")", "-")

End Sub


実行前:
実行前
実行後:
実行後
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved