• ベストアンサー

アクセスのリンクテーブルの操作方法について

アクセスで、OpenRecordsetオブジェクトでリンクテーブルを開こうとしましたが、引数にテーブルタイプのdbopentableを使用すると"無効な処理を行いました"とエラーになります。引数を省略すると、そこではエラーになりませんが、テーブルの更新ができません。 どのようにしたら、リンクテーブルのレコード操作ができるでしょううか?

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

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.2

リンクテーブルには、dbOpenTableは使用できません。 fuminさんの仰るように、dbOpenDynasetを使用するか、リンク先のDatabaseオブジェクトを作成して、そこから開くようにして下さい。↓ Dim LinkDB as Database Dim RST AS Recordset Set LinkDB = WorkSpaces(0).OpenDatabase("リンク先のDBの名前") Set RST = LinkDB.OpenRecordset("テーブル名",DbOpenTable)

suzuking
質問者

お礼

ありがとうございました。 うまくいきました。

その他の回答 (1)

  • fumin
  • ベストアンサー率0% (0/2)
回答No.1

リンクテーブルのレコードを操作したい時は、引数を dbopendynaset としてください。リンクテーブルの場合、引数を省略すると、引数に dbopensnapshot を指定したのと同じ結果になり、レコード操作はできません。

suzuking
質問者

お礼

助かりました。 ありがとうございました。

関連するQ&A

  • テーブルのリンク(ACCESS)

    ACCESS2003で下記の記述で「実行時エラー ’3219’ 無効な処理です。」というエラーメッセージがでます。 外部mdbでテーブルをリンクさせるとこのエラーがでます。同じmdbファイルにデータテーブルを置くと問題なく処理できます。 参照設定も過去ログを見てチェックしています。 Dim dbs As DAO.Database Dim rst As DAO.Recordset Set dbs = CurrentDb Set rst = dbs.OpenRecordset("テーブル名", dbOpenTable) ACCESS97では何の問題もなかったのですが, 2003ではうまくいきません。 どうかよろしくお願いします。

  • SQLServerのテーブルはdbOpenTableで取得できない?

    SQLServerのテーブルはdbOpenTableで取得できない? いつもお世話になっております。 VB6.0、Access2003で開発されたシステムのデータベースを SQLServer(2008Express)に置き換えています。 接続方法は、現行通りのDAOを使用したいと考えております。 レコードセットをオープンするときに、 Set RS = DB.OpenRecordset("テーブル名", dbOpenTable) としたら、「引数が無効です」というエラーが発生しました。 dbOpenTableの所をdbOpenDynasetに変更したらエラーは発生しなくなりました。 SQLServerへの接続の場合、dbOpenTableは使用できないのでしょうか? dbOpenTableが使用できないとなると、IndexやSeekも使用できないということでしょうか? 以上です。よろしくお願い致します。

  • Accessのリンクテーブル

    すみません、教えてください。 Accessで複数端末から一つのMDBにデータ登録をさせる為に、VBAでツールを作っています。以下のように記述をして いるのですが、MDBを閉じるたびに、リンク先のDBを認識しなくなってしまいます。テーブルでリンクを貼りなおすとまた動くようになるのですが、どうしたらリンクを貼りなおせずにできるようになるのか、どなたか教えてください。どうかお願いいたします。 Dim LinkDB as Database Dim RST AS Recordset Set LinkDB = WorkSpaces(0).OpenDatabase("リンク先のDBの名前") Set RST = LinkDB.OpenRecordset("テーブル名",DbOpenTable)

  • ACCESS2000でのリンクテーブルの更新方法

    ACCESS2000でリンクテーブル(.txtファイル)を使用して います。テキストファイルは直接更新できるのですが ACCESS上でリンクテーブル内のデータを更新しようとする と、"このISAMでは、リンクテーブル内のデータを更新することはできません。" とエラーがでて更新することができません。 Accessでも更新したいので、どなたかご存知の方がいらっしゃいましたら教えて下さい。

  • Access2010のリンクテーブルについて

    Access2010のリンクテーブルについて質問をさせてください。 現在、社内ではExcelシートで対応ログを残しています。 ログ入力や検索のことを考えれば、Accessへ移行するべきだと思うのですが、現在その予定はありません。また、ここで対応内容に応じて「区分」を付加していきたいと考え、以下のことを行いました。 1.ExcelシートをリンクテーブルとしてAccessに取り込み。  [対応テーブル]   ・対応NO   ・対応内容 2.今後加えていきたい区分のテーブルを作成  [区分マスタ]   ・区分NO   ・区分名 3.AccessでExcelシートは更新できないので、1と2をもとにしたテーブルを作成  [対応明細]   ・対応明細NO   ・対応NO(1と結合)   ・区分NO(2と結合)    3.のテーブルに対し、「対応NO」と「区分NO」を入力していければ、もともとのExcelファイルをいじることなく、区分を追加していけるものと考えたのですが、「このレコードセットは更新できません。」とのエラーとなってしまいます。 以前のAccessではExcelのリンクテーブルも更新できたと思うのですが、大人の事情でそれができなくなったことは認識しています。その回避策として、リンクテーブルに編集を加えるのではなく、更新用のテーブルを用意して入力していこうと思ったのですが、それもできません。 回避策がありましたらご教示いただけますでしょうか。 宜しくお願いいたします。

  • OracleDBのテーブルのリンクについて

    Oracleテーブルのリンクについて教えてください。 OracleDBのテーブルをACCESS97からリンクして見ているのですが、 OracleテーブルのレコードをACCESSから削除や挿入しようとすると 出来るテーブルと出来ないテーブルがあります。 ACCESSからレコードを選択し、右クリックを押すと通常、そのメニューの 中に「新しいレコード」、「レコードの削除」などが出ますが、 レコードが削除できないテーブルはその項目が灰色になり選択できません。 更新出来ないテーブルと出来るテーブルの違いは何が考えられますか? 申し訳ないですが、宜しくお願い致します。

  • ACCESSでリンクテーブルのデータを自動取り込みしたい

    業務データの処理について、お教え願えればとご質問致します。 ACCESS2000でエクセルにリンクテーブルを設定しており、月に一度 エクセルのデータが更新されています。 手動作業で、このリンクテーブルの「すべてのレコード」を選択した後 ACCESSのテーブルに貼り付けて引き続く作業をしています。 複写するリンクテーブルの数が多いので マクロかVBAで自動的に取り込みたいのですが、  どうも良い方法が分かりません。 よい方法をご存知の方、居られましたらご教授下さい。

  • このISAMでは、リンクテーブル・・

    access2000にcsvデータをリンクさせ、テーブルを開いてレコードを変更しようとすると「このISAMでは、リンクテーブル内のデータを更新することはできません」というメッセージが出ます。 これは標準ですか? リンクテーブルでcsvデータを更新する方法はあるものですか? #リンクはこれまで未経験なので、さっぱり不明。

  • Access のリンクテーブルについて

    よろしくお願い致します。 Access側から外部テーブルを参照したリンクテーブルを作成しました。 しかしそのテーブルを開くのにはすごく時間がかかり、時にAccessが応答なしの状態になったりします。 そこで、ためしにテーブル作成クエリでリンクテーブルのデータと同じデータをもつテーブルを作成しました。 すると、そのクエリで作成したテーブルからの操作はスムーズに行われました。リンクテーブルとはデータ量も同じなのにこのように重さの違いがでるのはなぜなのでしょうか? Accessを使いはじめたばかりで、裏ではどのようになっているのかよくわからずパフォーマンスのあげ方に四苦八苦しております。 アドバイスをよろしくお願いします。

  • Accessでテーブルのリンクを新規テーブルに保存

    ExcelのデータをAccessのテーブルでリンクしています。 そのデータをクエリで必要なレコードだけを抽出します。 抽出したデータのみを新規テーブルとして保存したいんですが、保存の仕方がわかりません。 Access2000です。 どうかよろしくお願いします。

専門家に質問してみよう