Show Access のテーブルを作成する方法や、テーブルにデータ (レコード) を追加する方法はいくつかあります。 Access のデータベースに、[T_更新情報] テーブルがあり、現在レコードはゼロです。 Access のテーブルと Excel ブックのワークシート上にあるデータのフィールド名とその順序は同じにしてあります。 Excel ブックはもちろん保存してあります。 Excelデータのインポート
なんで突然このテーマにしたかというと、「Excel ブックの内容で Access のテーブルを書き換えたい」といわれたからです。 [T_更新情報] テーブルの内容を使って、[T_社員] テーブルを更新するという流れの更新クエリについては、別の記事で書いています。 石田 かのこ オススメ!四国の逸品執筆一般社団法人 実践ワークシート協会 石田 かのこ Office 全般のスペシャリスト。ユーザー向けトレーニングの実施や書籍執筆、オンライン記事の執筆、インターネット授業などを行っている。 Access2010って、なんだかエラーメッセージが多い気がします。 以下は、私がエラーメッセージが出たときに対処した方法です。 私の環境のもとで解決できたことで、すべてに適応できるとは思いませんが何らかのヒントになれば幸いです。 エラーメッセージが出たら、まず、メッセージウィンドウに表記されている文言で検索してみてください。たいていはヒットします。 データベース形式に対応していない変更が含まれていますフォームを作成して、そのフォームにフォームを閉じるボタンを作成しようと、コマンドボタンウィザードを使用して作成して保存しようとしたら、下のようなメッセージが表示されて保存もできない。 イベントのクリック時に[DoCmd.close]と、入力しても同じメッセージが表示されます。 このフォームまたはレポートには、現在のデータベース形式に対応していない変更が含まれています。 フォームまたはレポートは保存されませんでした。 変更を保存するには、空白のセルがあるレイアウトを削除するか、フォームまたはレポートの"HasModule/コード保持"プロパティを[いいえ]に設定してください。 メッセージの通りに[コード保持]を[いいえ]にしたら、コードは削除されてしまいます。 解決策マクロで[ウィンドウを閉じる]アクションを作成して、それをボタンのクリック時イベントで指定して解決しました。 ウィンドウを閉じるマクロの作成マクロの新しいアクションの追加で、[ウィンドウを閉じる]を選択します。 マクロの各設定をして、名前を付けて保存します。 フォームのコマンドボタンを選択して、クリック時イベントに作成したマクロを指定します。 この方法だと保存して作成することができます。 [最適化と修復]を実行しても直らなかったケース最適化と修復を実行しても解決できなかったケースもあります。 参考最適化と修復については、以下の記事で解説しています。 イベントプロパティに指定した式 クリック時 でエラーが発生しましたフォームを作成して、そのフォームにフォームを閉じるボタンを作成しようと、コマンドボタンウィザードを使用して作成して保存しようとしたら、下のようなメッセージが表示されて保存もできない。 マクロを作成しても同じです。 [最適化と修復]を実行しても同じです。ほとほと困ってしまいました。 イベントプロパティに指定した式 クリック時でエラーが発生しました。 ○○がOLEサーバーまたはActiveXコントロールと通信しているときにエラーが発生しました。 *マクロ名、ユーザー定義関数名、[イベントプロシージャ]以外の式が指定されています。 *関数、イベント、マクロの評価でエラーが発生しました。 オブジェクトまたはクラスがこのイベントをサポートしていませんフォームにコマンドボタンを作成して、そのボタンでフォームを開くように作成していました。 オブジェクトまたはクラスがこのイベントをサポートしていません。 検索すると、Officeの共存が原因で起こることがあるようです。 職場でOffice2013から、365へ移行したときに発生しました。 一時的には、以下の解決策(新規データベースへすべてのオブジェクトをインポート)で対応できたのですが、編集のたびに表示されるようになったので、マクロアクション[エラー時]を追加して対応しました。 [エラー時]アクションは、エラーを回避して次へ進ませることができます。以下の記事でも[エラー時]アクションを使用する方法を紹介しています。 解決策新しいファイルを作成して、すべてのオブジェクトをインポートして解決しました。 新規データベースへすべてのオブジェクトをインポート新規ファイルを作成して[外部データ]タブの[インポートとリンク]グループから[Access]をクリックします。 [外部データの取り込み]の[参照]ボタンからエラーが出るファイルを指定します。 [現在のデータベースにテーブル、クエリ、フォーム、レポート、マクロ、モジュールをインポートする]を選択します。 [OK]ボタンをクリックします。 [オブジェクトのインポート]の各タブで[すべて選択]ボタンをクリックして、[OK]ボタンをクリックします。 最適化を実行してもサイズが小さくならないような場合も、上記の方法が有効です。 参考以下のようなエラーメッセージがでることもあります。これは、Microsoftから解決策が提供されています。 レコードは削除されていますAcceess2019でテーブルをコピーしようとすると、以下のメッセージが表示されました。 レコードは削除されています。 テーブルを別のデータベースにエクスポートしようとしても、同じメッセージがでます。 Excelにはエクスポートできたので、一度Excelにエクスポートして、それを新しいテーブルとしてインポートしてテーブルを作成してOKとなりました。 SELECT INTO ステートメントでは複数値を持つフィールドは使用できません添付ファイル型のフィールドを含むテーブルを基に[テーブル作成クエリ]を実行しようとすると、以下のメッセージが表示されました。 SELECT INTO ステートメントでは複数値を持つフィールドは使用できません。 以下の記事に記しています。 定義XMLによるスキーマの確認が失敗しましたAccess2010で、Excelのワークシートからインポートしようと、[外部データ]タブの[Excel]をクリックして、ウィザードに従って進めていたのですが、以下のメッセージウィンドウが出てインポートできませんでした。 定義XMLによるスキーマの確認が失敗しました。XMLドキュメント行にエラーがあります。 ブックのファイル名に、ドットがあると表示されます。 以下の記事で解説しています。 あいまいな外部結合が含まれているので、SQLステートメントを実行できませんクエリのデザインビューで結合プロパティを設定しているときに表示されることがあります。 複数の結合プロパティで、異なる設定の場合に表示されます。 あいまいな外部結合が含まれているので、SQLステートメントを実行できません。いずれかの結合を最初に実行するために、第一次結合を実行する分割クエリを作成し、SQLステートメントにそのクエリを含めてください。 |