次の方法で共有

DAOでタイプがDecimalの項目を更新するとAccessが落ちる

Anonymous
2020-06-15T09:25:52+00:00

今までは、問題は起こっていなかったのに、

2020/6/13以降、Access2016 にて、テーブルの項目タイプがDecimalの項目にDAOで追加(更新)しようとすると、

Accessが落ちてしまします。

実際に使用している部分は複雑なので、以下に簡易の再現例を挙げておきます。

再現例:

①以下にて、テーブル作成

    Dim cn As New ADODB.Connection

    Set cn = CurrentProject.Connection

    cn.Execute "CREATE TABLE test01 (AA Decimal(5, 2))"

    cn.Close

②ちなみに、SQLでの処理は普通に通る。

    CurrentDb.Execute "INSERT INTO test01 (AA) SELECT 1.234"

③しかし、DAOにて

    Dim rs  As DAO.Recordset

    Set rs = CurrentDb.OpenRecordset("test01")

    rs.AddNew

    rs!AA = 1.12

    rs.Update

    rs.Close

だと、「rs!AA = 1.12」の箇所でAccessが落ちます。

④ちなみに、ADODBにて、

    Dim cn As New ADODB.Connection

    Dim rs As New ADODB.Recordset

    Set cn = CurrentProject.Connection

    rs.Open "test01", cn, adOpenDynamic, adLockOptimistic

    rs.AddNew

    rs!AA = 1.12

    rs.Update

    rs.Close

    cn.Close

であれば、正常に動きます。

DAOでおかしくなる時は、イベントビュアーにて

「障害が発生しているモジュール名: acedao.dll、バージョン: 16.0.12827.20152」

等がでているから、直近のアップデートの際にacedao.dllに問題が生じたのではないでしょうか?

現行システムで使用しているDAOでその項目を更新する箇所が数百カ所にあるため、

非常に困っております。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

2 件の回答

並べ替え方法: 最も役に立つ
  1. Makapu 92,110 評価のポイント ボランティア モデレーター
    2020-06-15T14:06:46+00:00

    教育システム部さん、こんにちは。

    6月の Office の更新プログラムにより不具合が発生しております。

    以下のスレッドを参考に Office のロールバックを実行してみて下さいね。

    ACCESSが強制終了される

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

    2 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません
  2. Anonymous
    2020-06-16T00:13:00+00:00

    Makapuさん

    大変参考になりました、ありがとうございました。

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

    0 件のコメント コメントはありません