【Access】RefreshLinkを実行すると「主キーは既に存在しています」とエラーになるようになった

VisualStudio2019のVisual Basicを使用しています。

Accessファイルのリンクテーブルの再接続を行うため、

「Microsoft Office 16.0 Access database engine Object Library」を参照設定しています。

これを使用して新しい接続先を設定してRefreshLinkを実行すると「主キーは既に存在しています」とエラーになるようになりました。

2024年1月5日までは正常にリンクテーブルの再接続ができていたのですが

2024年1月9日から急にエラーが出るようになりご質問させていただきました。

よろしくお願いいたします。

Dim dao1 As Object

Dim dao2 As Object

dao1 = New Microsoft.Office.Interop.Access.Dao.DBEngine

dao2 = dao1.OpenDatabase(Accessファイルのパス)

for loop = 0 To dao2.TableDefs.Count - 1

dao2.TableDefs(loop).Connect = 再接続先

dao2.TableDefs(loop).RefreshLink()

next

------------------------------------------------------------------

モデレータ注 : タイトルに製品名を追加しています

回答
回答

Microsoft 365 Apps の更新履歴

https://learn.microsoft.com/ja-jp/officeupdates/update-history-microsoft365-apps-by-date

バージョン 2312

ビルド 17126.20132

最新のリリース日 2024 年 1 月 9 日

上記が原因と思われます。

過去バージョンに戻す手順は、 処理を実行するために、管理者権限のコマンドプロンプトを開きます。

「cd %programfiles%\Common Files\Microsoft Shared\ClickToRun」を コマンドプロンプト上で実行(Enter押下)します 「OfficeC2RClient.exe /update user updatetoversion=16.0.17029.20068」を コマンドプロンプト上で実行(Enter押下)

に 戻すことで、エラー表示は回避されました。 自己責任の作業で行ってください。

6 ユーザーがこの回答を役に立ったと思いました。

·

この回答が役に立ちましたか?

お役に立てず、申し訳ございません。

素晴らしい! フィードバックをありがとうございました。

この回答にどの程度満足ですか?

フィードバックをありがとうございました。おかげで、サイトの改善に役立ちます。

この回答にどの程度満足ですか?

フィードバックをありがとうございました。

 
 

質問情報


最終更新日: 2024年4月26日 表示数 1,275 適用先: