SSブログ

アクセス小僧:レコードを複製 [コンピューター]

フォームのボタンを押したら、

マクロを起動して、現在のレコードを複製するマクロを作りました。というか、パクリました。

【パクリ元】
[VBA] ADOの Clone と AddNew
https://okwave.jp/qa/q8056811.html


【マクロ】
Sub RecordCopy1()
'【機能】カレントレコードをコピーして、新しいレコードを作る
'【変数】
  Dim rs As New ADODB.Recordset
  Dim rsC As ADODB.Recordset
  Dim i As Long
  rs.Source = "SELECT * FROM T_テーブル名 WHERE 主キー名 = " & [主キー名] & ";"
  rs.Open , CurrentProject.Connection, adOpenStatic, adLockOptimistic
  If (Not rs.EOF) Then
    Set rsC = rs.Clone
    rsC.AddNew
    For i = 0 To rs.Fields.Count - 1
      Select Case rs.Fields(i).Name
        Case "主キー名"
          ' 主キーを除外
        Case Else
          rsC(i) = rs(i)
      End Select
    Next i
    rsC.Update
    rsC.Close
    Set rsC = Nothing
  End If
  rs.Close
End Sub

フィールドの値をコピーしますが、主キーは除外します。

ADODBを使用するためには、設定が必要です。

ADOについて ACCESSのVBAでADOを使うための準備
https://accessvba.blog.so-net.ne.jp/2014-01-18

「Microsoft ActiveX Data Objects」への参照設定を行っておきます。
ヤバイぜ!(15)  コメント(1) 
共通テーマ:日記・雑感

ヤバイぜ! 15

コメント 1

cheese999

ヤバイぜ! ありがとうございます(^_0)ノ
by cheese999 (2019-04-29 05:57) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字(英大文字の「オー」、英小文字の「ユー」、アラビア数字の「ハチ」、アラビア数字の「イチ」、アラビア数字の「ニ」)を入力してください。

Facebook コメント

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。