Access2010って、なんだかエラーメッセージが多い気がします。
以下は、私がエラーメッセージが出たときに対処した方法です。
私の環境のもとで解決できたことで、すべてに適応できるとは思いませんが何らかのヒントになれば幸いです。
エラーメッセージが出たら、まず、メッセージウィンドウに表記されている文言で検索してみてください。たいていはヒットします。
この記事の目次
データベース形式に対応していない変更が含まれています
フォームを作成して、そのフォームにフォームを閉じるボタンを作成しようと、コマンドボタンウィザードを使用して作成して保存しようとしたら、下のようなメッセージが表示されて保存もできない。
イベントのクリック時に[DoCmd.close]と、入力しても同じメッセージが表示されます。
このフォームまたはレポートには、現在のデータベース形式に対応していない変更が含まれています。
フォームまたはレポートは保存されませんでした。
変更を保存するには、空白のセルがあるレイアウトを削除するか、フォームまたはレポートの"HasModule/コード保持"プロパティを[いいえ]に設定してください。
メッセージの通りに[コード保持]を[いいえ]にしたら、コードは削除されてしまいます。
解決策
マクロで[ウィンドウを閉じる]アクションを作成して、それをボタンのクリック時イベントで指定して解決しました。
ウィンドウを閉じるマクロの作成
マクロの新しいアクションの追加で、[ウィンドウを閉じる]を選択します。
マクロの各設定をして、名前を付けて保存します。
フォームのコマンドボタンを選択して、クリック時イベントに作成したマクロを指定します。
この方法だと保存して作成することができます。
[最適化と修復]を実行しても直らなかったケース
最適化と修復を実行しても解決できなかったケースもあります。
参考最適化と修復については、以下の記事で解説しています。
-
ファイルサイズが大きくなってしまったら[最適化と修復]を実行
Accessのデータベースファイルは、使用していくうちに容量が大きくなっていきます。オブジェクトを編集したり、削除したりする操作を繰り返して ...
イベントプロパティに指定した式 クリック時でエラーが発生しました
フォームを作成して、そのフォームにフォームを閉じるボタンを作成しようと、コマンドボタンウィザードを使用して作成して保存しようとしたら、下のようなメッセージが表示されて保存もできない。
マクロを作成しても同じです。
[最適化と修復]を実行しても同じです。ほとほと困ってしまいました。
イベントプロパティに指定した式 クリック時でエラーが発生しました。
○○がOLEサーバーまたはActiveXコントロールと通信しているときにエラーが発生しました。
*マクロ名、ユーザー定義関数名、[イベントプロシージャ]以外の式が指定されています。
*関数、イベント、マクロの評価でエラーが発生しました。
オブジェクトまたはクラスがこのイベントセットをサポートしていません
フォームにコマンドボタンを作成して、そのボタンでフォームを開くように作成していました。
オブジェクトまたはクラスがこのイベントセットをサポートしていません。
検索すると、Officeの共存が原因で起こることがあるようです。
職場でOffice2013から、365へ移行したときに発生しました。
一時的には、以下の解決策(新規データベースへすべてのオブジェクトをインポート)で対応できたのですが、編集のたびに表示されるようになったので、マクロアクション[エラー時]を追加して対応しました。
-
[エラー時]アクションでマクロのエラーを出さずに次に進ませる
Accessでマクロを実行しようとすると、エラーメッセージが表示されて途中でストップしてしまうことがあります。 [エラー時]アクションを使用 ...
[エラー時]アクションは、エラーを回避して次へ進ませることができます。以下の記事でも[エラー時]アクションを使用する方法を紹介しています。
-
編集フォームを閉じる時のボタンを設置(保存せずに閉じる処理も)
帳票フォームなどのレコード一覧から、同じレコードの詳細フォームを開いて編集することがあります。 この編集フォームを閉じる場合、編集した内容を ...
[最適化と修復]を実行しても解決できなかった時の対処
新しいファイルを作成して、すべてのオブジェクトをインポートして解決しました。
新規データベースへすべてのオブジェクトをインポート
新規ファイルを作成して[外部データ]タブの[インポートとリンク]グループから[Access]をクリックします。
[外部データの取り込み]の[参照]ボタンからエラーが出るファイルを指定します。
[現在のデータベースにテーブル、クエリ、フォーム、レポート、マクロ、モジュールをインポートする]を選択します。
[OK]ボタンをクリックします。
[オブジェクトのインポート]の各タブで[すべて選択]ボタンをクリックして、[OK]ボタンをクリックします。
最適化を実行してもサイズが小さくならないような場合も、上記の方法が有効です。
-
ファイルサイズが大きくなってしまったら[最適化と修復]を実行
Accessのデータベースファイルは、使用していくうちに容量が大きくなっていきます。オブジェクトを編集したり、削除したりする操作を繰り返して ...
参考以下のようなエラーメッセージがでることもあります。これは、Microsoftから解決策が提供されています。
-
[引数が無効です]のエラーメッセージが出た時の対処方法
Access2010でデータベースを1つ作成して、フォームのテキストボックスに文字を入力しようとすると、[引数が無効です。]のエラーメッセー ...
[レコードは削除されています]のメッセージ
Acceess2019でテーブルをコピーしようとすると、以下のメッセージが表示されました。
レコードは削除されています。
テーブルを別のデータベースにエクスポートしようとしても、同じメッセージがでます。
解決策
Excelにはエクスポートできたので、一度Excelにエクスポートして、それを新しいテーブルとしてインポートしたらOKとなりました。
-
Excelへ出力(エクスポート)するコマンドボタンの作成
Access2010でテーブルやクエリをExcelへ出力するマクロを作成して、それをコマンドボタンに登録する方法です。 独立マクロを作成して ...
-
Excelのデータをテーブルにインポート(ウィザードの使用と貼り付け)
AccessでExcelのデータをインポートしてテーブルを作成する方法です。 操作は簡単なのですが、なかなか思うように行かないこともあります ...
SELECT INTO ステートメントでは複数値を持つフィールドは使用できません
添付ファイル型のフィールドを含むテーブルを基に[テーブル作成クエリ]を実行しようとすると、以下のメッセージが表示されました。
SELECT INTO ステートメントでは複数値を持つフィールドは使用できません。
解決策は、以下の記事に記しています。
-
SELECT INTO ステートメントでは複数値を持つフィールドは使用できません
Access2013で添付ファイル型のフィールドを含むテーブルを基に[テーブル作成クエリ]を実行しようとすると、以下のようなメッセージが表示 ...
定義XMLによるスキーマの確認が失敗しました
Access2010で、Excelのワークシートからインポートしようと、[外部データ]タブの[Excel]をクリックして、ウィザードに従って進めていたのですが、以下のメッセージウィンドウが出てインポートできませんでした。
定義XMLによるスキーマの確認が失敗しました。XMLドキュメント行にエラーがあります。
ブックのファイル名に、ドットがあると表示されます。
以下の記事で解説しています。
-
[定義XMLによるスキーマの確認が失敗しました]のメッセージウィンドウ
Access2010で、Excelのワークシートからインポートしようと、[外部データ]タブの[インポートとリンク]グループにある[Excel ...
あいまいな外部結合が含まれているので、SQLステートメントを実行できません
クエリのデザインビューで結合プロパティを設定しているときに表示されることがあります。
複数の結合プロパティで、異なる設定の場合に表示されます。
あいまいな外部結合が含まれているので、SQLステートメントを実行できません。いずれかの結合を最初に実行するために、第一次結合を実行する分割クエリを作成し、SQLステートメントにそのクエリを含めてください。
以下の記事で解説しています。
-
複数フィールドを他テーブルの同じフィールドへ結合するクエリの作成
Accessで2つのテーブルがあって、1つのテーブルの複数のフィールドが、別テーブルの同じフィールドへ結合する場合のクエリの作成方法です。 ...