- 締切済み
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
- amamaq
- お礼率90% (66/73)
- Visual Basic
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- MARU4812
- ベストアンサー率43% (196/452)
関連する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、テーブル、リンク方法等、何か問題があるのでしょうか? よろしくお願いします。
- ベストアンサー
- SQL Server
- 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でできています。 毎回発生するエラーではなく、エラーにならない時もあります。 何か原因がわかる方いらっしゃいますか? ご教授よろしくお願い致します。
- ベストアンサー
- Visual Basic
- テーブルのリンク(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からのリンクテーブルです。
- ベストアンサー
- その他(データベース)
お礼
MARU4812さん ご回答どうもありがとうございます。 残念ながら、ちょっと違う内容です。 とりあえず、もう少し現象を明確にしてみます。