• 締切済み

Accessリンクするテーブルが見つからないエラー

Access2007で開発しています。 SQLServerにDBを作成し、テーブルをリンクしているのですが、検索時に「リンクするテーブルが見つからないので、クエリを実行できませんでした」というメッセージが起きます。 以下の同じVBAを使用し、検索するテーブルも同じなのに、ある特定フォームからそのVBAを実行した場合のみ、このエラーになります。 エラー箇所は(1)の部分です。 以前は別のAccessで作成したテーブルをリンクしていましたが、SQLServerに変えたとたんにこのエラーが起きます。 DB接続方法等、変更すべき点があるのでしょうか? 対処方法を教えて下さい。 'カレントデータベースを開く Set cnCrrDB = CurrentProject.Connection 'レコードセットを開く     SQLSTR = "select xxxName from mTest1 where xxxNo = 5" (1) rsTable.Open SQLSTR, cnCrrDB, adOpenStatic 'レコード件数とフィールド数を取得する ReCnt = rsTable.RecordCount FiCnt = rsTable.Fields.Count

みんなの回答

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.1
amamaq
質問者

お礼

MARU4812さん ご回答どうもありがとうございます。 残念ながら、ちょっと違う内容です。 とりあえず、もう少し現象を明確にしてみます。

関連するQ&A

  • AccessとSqlServerのテーブルリンク

    Access2007とSqlServer2008を使用しています。 Accessで作成したテーブルを「データベースツール」-「データの移動」でSqlServerに移行してリンクする際、 (1)SqlServerに新規にデータベースを作成すると、リンクテーブルマネージャから見てもリンク先DBが正しく表示されますが、 (2)その後、その既存DBに同じAccess内の別のテーブルを、「データベースツール」-「データの移動」してリンクしたものは、リンクテーブルマネージャから見てもリンク先DBが ()となっており表示されていません。 ツールとしてSqlServer Management Studioを使っていますが、そこからでも(1)のテーブルは表示されていますが、(2)のテーブルは表示されません。 でもリンクはできているようなのです。 また、SqlServer Management Studioを使って、SqlServer内に新規テーブルを作成し、 それをAccessからリンクしようとしても、テーブルリンク一覧内に表示されない状態です。 (「外部データ」-「ODBCデータベース」…)にて SqlServerのファイルデータソースを表示しています) (2)のテーブルはSqlServer Management Studioから見ることができないため、更新・削除もできず困っています。 DB、テーブル、リンク方法等、何か問題があるのでしょうか? よろしくお願いします。

  • Vbaでアクセスからエクセルにリンクテーブルする

    Vbaでアクセスからエクセルにリンクテーブルするには? エクセルの情報: C:\Users\Desktop¥新規 Microsoft Excel ワークシート.xlsx シート1の情報: フィールド1 フィールド2 あああ    aaa いい     iii ううう    uuu なのですが、 アクセスからVBAでリンクするにはどうすれば良いでしょう? 手作業なら 外部データ→エクセル→外部データの取り込み→リンクテーブルを作成してソースデータにリンクする でリンクできますが、vbaで行いたいです。 Sub Sample01() Dim db As DAO.Database, tb As DAO.TableDef Set db = CurrentDb Set tb = db.TableDefs("Sheet1") tb.Connect = ";DATABASE=" & CurrentProject.FullName & ";TABLE=Sheet1" tb.RefreshLink ' リンク情報の更新 End Sub このコードは意味が違いますよね エクセルのパスとシート名を指定してリンクする方法を教えてください。 最終定期にはシートをループして複数のテーブルを作成したいのです。 リンクが無理ならインポートでもOKです。

  • ACCESS2007のリンクテーブルのリンク元を変更

    ACCESS2007で顧客管理DBを作成していますが、後の保守を考え、テーブルとその他を別のaccdbファイルに使用としています。 実際に使用するPCのほとんどがRuntime版を使用する予定で、リンクテーブルマネージャを使用することが出来ません。 そこで、トップメニュでボタンを作成し、VBA(DAOでもADOでも可)でリンクの変更をしようと考えています。2つのaccdbはとりあえず同一フォルダに格納です。(将来的にはサーバーに移動) 参考書を元に以下の様なVBAを作成したのですが、 最後のRefreshlinkの所で引数が無効ですとエラーが出ます。 Function TableLink1()   Dim dB As DAO.Database Dim tB As DAO.TableDef Set dB = CurrentDb() Set tB = dB.TableDefs("担当者登録") tB.Connect = ";DATABASE =" & CurrentProject.Path & "\" & "UserDB_Be.accdb" tB.RefreshLink   ←ここでエラーになります。 dB.Close End Function どうすれば回避出来るか、ご教授願います。

  • ACCESSのODBCリンクテーブルに接続できなくなる

    ACCESSでSQLserverのテーブルとODBCリンクテーブルで連携したアプリケーションの開発を行っているのですが、ときどきテーブルとのリンクが切れてしまい、「実行時エラーです。リンクするテーブルが見つからないので、クエリを実行できませんでした。」というエラーが発生してしまいます。外的要因以外でACCESSではこのようなことはよく起こりうることなのでしょうか。またこの問題を回避できそうな方法をしている方いらっしゃいましたらよろしくお願いいたします。

  • 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)

  • アクセスのテーブルにリンクできなくしたい

    アクセス97です。 DBのテーブルを見れないようにはできたのですが、 他に別のDBを作成し、元のDBのテーブルにリンクしてしまうと いともたやすくテーブルを見ることができてしまいます。 元のDBには、パスワードやグループファイルで権限を付けたくないです。 テーブルのリンクを許さない方法が何か無いでしょうか? また、テーブルが誰かによってリンクされているかどうかが 分かる方法ってあるでしょうか? よろしくお願い致します。

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

    Access2000を使用しているのですが、SQLServerのDBをリンクしなければいけないのですが、ODBCを使用せずにリンクさせる方法はあるのでしょうか? またはモジュールでコードを記述してリンクテーブルを作成する方法でもかまわないのですが・・・。 作成したAccessを配布したPCにODBCを設定するのが面倒なのですが・・・。 なにかいい方法があるのか教えていただきたいです。

  • アクセス2003 「ODBC--リンク テーブル'テーブル1'での更新に失敗しました。」となる。

    Sub test() Public cn As New ADODB.Connection Public rs As New ADODB.Recordset cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CurrentProject.FullName rs.Open "Qクエリ", cn, adOpenStatic, adLockPessimistic rs("進捗") = "" rs.Update  ←ここでエラー rs.Close: Set rs = Nothing cn.Close: Set cn = Nothing End Sub のコードを実行すると アクセスが「応答なし」になり、その後 「ODBC--リンク テーブル'テーブル1'での更新に失敗しました。」となります。 Qクエリはテーブル1とテーブル2でできています。 毎回発生するエラーではなく、エラーにならない時もあります。 何か原因がわかる方いらっしゃいますか? ご教授よろしくお願い致します。

  • テーブルのリンク(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ではうまくいきません。 どうかよろしくお願いします。

  • Accessでのテーブルのコピー

    はじめまして、よろしくおねがいします。 リンクテーブルのバックアップテーブルを作りたいのですが、 Accessで出来るでしょうか? Access2003にて、 「Create table TABLE_A as select * from TABLE_B;」 のクエリを実行しようとすると、 「CREATE TABLEステートメントの構文エラーです」 とエラーが出ます。 TABLE_Bテーブルは、他のDBからのリンクテーブルです。

専門家に質問してみよう