So-net無料ブログ作成

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

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

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

【パクリ元】
[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」への参照設定を行っておきます。
ヤバイぜ!(14)  コメント(1) 

ヤバイぜ! 14

コメント 1

cheese999

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

コメントを書く

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

Facebook コメント