• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access2010のリンクテーブルについて)

Access2010のリンクテーブルとは?

このQ&Aのポイント
  • Access2010のリンクテーブルについて質問をさせてください。ExcelシートからAccessにデータを取り込み、区分を追加したいがエラーが発生しています。以前は可能だったが、現在は回避策を探しています。
  • Access2010のリンクテーブルについて質問です。ExcelシートのデータをAccessにリンクし、区分を追加することができるかどうか教えてください。
  • ExcelシートからAccessにデータをリンクしたいです。区分を追加するために、リンクテーブルを使用したいと考えていますが、エラーが出てしまいます。回避策を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

途中、質問内容が把握できなくなっているのですが、 とりあえず、以下のようにようにして対応ログの データを扱えるようにしてみては。 (1) リンクしたテーブルと同じ構造のテーブルを作成します。 テーブル名は「対応メイン」。フィールドの型は多分 以下のようなものだと思いますが。一応、リンクした 「対応テーブル」をデザインビューで開き確認 してください。  「対応メイン」 対応NO   数値型 対応内容  テキスト型 (2) 次に、二つのテーブルの差分を拾うクエリを作成します。 名前を、「対応差分クエリ」とします。 SQLでは、 SELECT 対応テーブル.対応NO, 対応テーブル.対応内容 FROM 対応テーブル LEFT JOIN 対応メイン ON 対応テーブル.対応NO = 対応メイン.対応NO WHERE 対応メイン.対応NO Is Null; これを新しいクエリをSQLビューで開き、貼り付け保存します。 クエリの新規作成から差分クエリを作成できますが、同じ内容になると思います。 このクエリを開けば、「対応テーブル」に新しい内容が あれば、表示されます。このデータを次のようにして テーブルに収めていきます。 (3) 次に、フォームのボタンクリックなどで、以下のように 記述します。 なお、以下ではDAOを使用しているので、コード表の参照設定で Microsoft DAO xx Object Library にチェックが入っているか確認しておいてください。 Private Sub コマンド0_Click()   Dim db As DAO.Database   Dim rs1 As DAO.Recordset   Dim rs2 As DAO.Recordset   Set db = CurrentDb   Set rs1 = db.OpenRecordset("対応差分クエリ")   Set rs2 = db.OpenRecordset("対応メイン", dbOpenDynaset)   If rs1.RecordCount > 0 Then     rs1.MoveFirst     Do Until rs1.EOF       rs2.AddNew       rs2!対応NO = rs1!対応NO       rs2!対応内容 = rs1!対応内容       rs2.Update       rs1.MoveNext     Loop   End If   rs1.Close: Set rs1 = Nothing   rs2.Close: Set rs2 = Nothing   db.Close: Set db = Nothing End Sub このコードを実行すると、新しいデータのみが テーブルに収められます。 後は、煮るなり焼くなり如何様にも利用できます。 必要なときにこのコードを実行し、データを更新し、 このテーブルを処理の出発点とすれば、質問に対応 できるのでは、と思いますが。

junkyjunkie
質問者

お礼

piroin654さん コメントありがとうございました。 思い通りのものができそうです! お返事が遅くなり大変失礼いたしました。 結構困っていましたので、助かりました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう