• ベストアンサー
  • 暇なときにでも

SQLサーバーのテーブルに対してアクセスで更新クエリを行ないたい

こんばんは。 ・vista ・アクセス2003 ・SQL Server 2005 です。 SQL ServerからテーブルをMDBへリンクしているのですが そのテーブルに対し、アクセス側で更新クエリを実行しようとすると 実行時エラー '3157': ODBC--リンク テーブル'テーブル名'での更新に失敗しました。 [Microsoft][ODBC SQL Server Driver]時間切れになりました。(#0) と言うエラーになり、更新クエリができません。 どうすればアクセスでSQLサーバーのテーブルに対して更新クエリを行えるのでしょうか? よろしくお願いします。

共感・応援の気持ちを伝えよう!

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

  • ベストアンサー
  • 回答No.1
  • nda23
  • ベストアンサー率55% (773/1384)

先ず、更新できないクエリ(1:nの1側)の可能性はありませんか? もし、更新できる条件なのにエラーになる場合はパススルークエリを 試してみてください。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

パススルークエリについて調べてみます。ありがとうございます。

関連するQ&A

  • SQLサーバーに保存してあるクエリをアクセスで開くには?

    SQLサーバーに保存してある「クエリ1.sql」をアクセスで開くにはどうすればいいでしょう? アクセスで「リンクテーブル」→「ODBC接続」 でテーブルのリンクはできているのですが クエリをリンクするにはどうすればいいでしょうか? 宜しくお願い致します。

  • SQLサーバーのテーブルの値が更新できません

    お尋ねします。 SQLサーバー2005にDB1というデータベースにdbo_TB1というテーブルがあります。そのテーブルの特定の列の値を更新したいので、AC.mdbというアクセスのファイルにテーブルのリンクをし、更新したいファイルを用意して、アクセスのクエリでデータを更新しようとしましたところ、更新ができませんでした。  dbo_TB1を更新可能にするためには、どのようにして権限を与えればいいでしょうか。  SQLサーバー2005の知識を習得しようと学習を始めたばかりで、よく理解できていません。よろしくお願いします。

  • SQLクエリでデータベースが壊れる?

    AccessアプリでSQL Serverデータベースを更新しています。 データベースをODBCデータソースとして登録して、AccessdeそのODBCデータソースへのリンクテーブルを作っています。 データベースが何回か壊れたのですが、AccessVBAから発行したリンクテーブルへのSQLクエリでデータベースが壊れるようなことはあるんでしょうか? あるとしたら、そのクエリを発行すると必ず壊れると思うんですが・・・。 同じAccessアプリを使っても、データベースが壊れない環境もありますし・・・。 データベースが壊れた原因がわからなくて困っています。 Windows 7、SQL Server 2008 R2 Express です。

  • ASPによる アクセス2000のデータベース更新について

    アクセス2000で作成したデータベースに ASPでデータベースを更新しようとしたのですが、エラーとなって更新できずにいます。 (アクセスデータベース内容) ID F1 F2 1 TEST1 TEST2 2 1 2 3 4 5 4 23 ※ID の 5  に 23 を登録したい。 (ASP内容) <% ' データベースへの接続を開始 Set cn = Server.CreateObject("ADODB.Connection") cn.Open "Driver={Microsoft Access Driver (*.mdb)}; " & _ "DBQ=" & Server.Mappath("TESTdb1.mdb") cn.Execute"INSERT INTO TTT(ID,F1) VALUES(5,23);" %> (エラー内容) エラー タイプ Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver] 更新可能なクエリであることが必要です。 /SQL-TEST/ncsch1.asp, line 7 アクセスの追加クエリで、INSERT INTO TTT(ID,F1) VALUES(5,23); を 実行したら、問題無く 5 23 が登録できましたので、データベース自体に他からの実行の場合、更新出来ないような 設定になっていると思うのですが、対処方法がわかりません。 どうすればよいか教えて頂けないでしょうか?

  • SQLサーバーはテーブルの置き場として使えるのでしょうか?

    SQLサーバー初心者です。 アクセスのMDBファイルのリンクテーブルとしてSQLサーバーを使う場合、 クエリとかストアドプロシージャー(?)などの機能があるみたいですが よくわからないので 本当にただテーブルの置き場としてSQLサーバーを使うことはできるのでしょうか? 宜しくお願い致します。

  • Access起動中にエクセルからADOでデータの更新ができない

    こんばんは。原因がわからないので質問させてください。 SQLサーバーのデータをAccessのmdbへリンクテーブルしています。 (SQLサーバー → Access) 全て一つのパソコンで行なっています。(LANには接続していません) Accessのmdbファイルを起動している時に ExcelからSQLサーバーのAccessにリンクしている上記のテーブルへ ADOを使ってデータを追加しています。 (Excel → Access)  しかし、「rs.Update」の部分で  「ODBC--リンク テーブル'テーブル1'での更新に失敗しました。」 となってしまいます。 なので、一度mdbファイルを落として、コードを再開すると通るので ADOでExcel → Accessにデータを追加し終わってから再度mdbファイルを立ち上げています。 また同じ状態(mdbファイルを起動)で Excel → SQLサーバー へ更新クエリをしようとすると「時間切れになりました」となります。 (こちらもmdbファイルを落とすと再開できます。) いちいちmdbファイルを落とすのめんどうなのですが 回避する方法はありますか? cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "C:\Users\Documents.test.mdb" rs.Open "テーブル", cn, adOpenStatic, adLockPessimistic rs("フィールド") = True rs.Update '保存 rs.Close: Set rs = Nothing というコードを書いています。 Accessを落とせば正常に動きます。 ご教授よろしくお願い致します。

  • SQL Serverの移行について

    SQL Server2000からSQL Server2008へ 移行したいです。 Accessからリンクテーブルをして使用しています。 移行後、Accessのプログラムを実行しようとすると、 エラーが発生します。ODBC接続を使用しています。 リンクテーブルマネージャで再リンクしてみたのですが、 うまくいきませんでした。 何かうまくいくためのヒント等わかるかたいらっしゃいますでしょうか?

  • SQLの更新方法について

    SQLの更新方法について 環境 OS:windows XP home sql server express2008 Microsoft SQL Server Management Studio 10.0.1600.22 現象 MS ACCESSからODBCを通してsql server express2008の中に作ったテーブル”TB01”にアクセスしていました。 あるときSQL Server Management StudioでTB01を削除しました。 ところがACCESSからODBCを通して接続すると削除したはずのテーブル”TB01”が見えていて リンクを張るとデータも出てきます、 ためしに新しくデータベースを作ってテーブルを作成してもODBCからは昔のままのテーブルしかありません。 SQL SERVERを再起動しても変わりません、どのようにすればSQLの内容を更新できるのでしょうか? どなたかお知恵を拝借願います。

  • SQLサーバのデータテーブルをAccessにリンクしたい

    Windows Server 2003 SP2、SQL Server 2000 SP3の中のデータテーブルをaccess2000のmdbにリンクしたいのですが、ODBC経由で新規接続の設定を進めていくとリンクテーブル選択の時にテーブルが何も表示されません。 ご存知の方、解決方法や他に調べるところ、ヒントなどご教授いただけると大変ありがたいです。 よろしくお願いいたします。

  • SQLサーバーにあるテーブルをaccessに「テーブルのリンク」をしたい

    こんばんは。 SQL Server 2005の中にある データベース名:test テーブル名:テーブル1 をアクセス2003にリンクしたいのですがどうすればいいのかわかりません。 データベースウインドウのテーブルのところの何もない所で 右クリック → テーブルのリンク をするとファイルを選択するダイアログが開きます。 「SQL Server Management Studio Express」を選択し そこからどうすればいいのでしょうか? また「ファイルの種類(T)」は何を選択すればいいですか? デフォルトでは 「Microsoft Office Access(*.mdb;*.mda;*.mde)」です。 以上よろしくお願いします。