前提・実現したいこと
ここに質問の内容を詳しく書いてください。
Access2019で添付ファイル型のフィールドを含むテーブル1のデータをテーブル2に追加したいです。
VBAでできることは分かったのですが、初心者故なぜエラーが発生しているのか判らずお手上げ状態です。
ご教授いただけると幸いです。
発生している問題・エラーメッセージ
![イ(4aeaab84a533b63559ba0cf6095ff0a8.png)
ユーザー定義型は定義されていません
該当のソースコード
標準モジュールに
Private Function CopyAttachmentField(ByVal rsFromTbl As DAO.Recordset2, ByVal rsToTbl As DAO.Recordset2) As Boolean Dim intField As Integer CopyAttachmentField = False '初期値は失敗 On Error GoTo ERRTRAP 'レコード終了まで処理 Do Until rsFromTbl.EOF = True rsToTbl.AddNew '待避先に新規追加 'フィールド分のデータをセットする For intField = 0 To rsFromTbl.Fields.Count - 1 '待避先のフィールドが更新可能な場合 If rsToTbl.Fields(intField).DataUpdatable = True Then '待避元のデータがNullではない場合 If IsNull(rsFromTbl.Fields(intField).value) = False Then '待避先に待避元のデータをセットする rsToTbl.Fields(intField).value = rsFromTbl.Fields(intField).value End If End If Next rsToTbl.Update '待避先を更新 rsFromTbl.MoveNext Loop rsFromTbl.Close rsToTbl.Close Set rsFromTbl = Nothing Set rsToTbl = Nothing CopyAttachmentField = True 'ここまできたら成功 Exit Function ERRTRAP: MsgBox "添付ファイル型データの追加中にエラーが発生しました" & vbCrLf _ & "エラー番号:" & Err.Number & vbCrLf _ & "エラー内容:" & Err.Description & vbCrLf, vbCritical, "予期せぬエラー" End Function
フォームの追加ボタンに
Dim rs1 As DAO.Recordset Dim rs2 As DAO.Recordset Set rs1 = CurrentDb.OpenRecordset("テーブル1") Set rs2 = CurrentDb.OpenRecordset("テーブル2") Do Until rs1.EOF rs2.AddNew rs2!ID = rs1!ID CopyAttachmentField rs1!フィールド1.Value, rs2!フィールド1.Value rs2.Update rs1.MoveNext Loop rs1.Close: Set rs1 = Nothing rs2.Close: Set rs2 = Nothing
試したこと
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12142450027
https://at-links.biz/blog/?p=285
上記を参考にそのままコードをコピーして試してみました
テーブルのフィールド、データ型、テーブル名も同じです。
参照設定は
Microsoft ActiveX Date Objects 6.1 Library
Microsoft DAO 3.6 Objyest Library
を設定しました。
補足情報(FW/ツールのバージョンなど)
Access2019
回答1件
あなたの回答
tips
プレビュー