• ベストアンサー

Accessでデータ更新できない

Accessのクエリでデータを書き換えようとしてもできません。データベースは、更新可能な権限でアクセスしており、データソースも読み取り専用にチェックをつけていません。SQL*plusにて、おなじサービス名、ユーザー、パスワードで、updateはできるのです。どなたかご教授お願いします。

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

  • ベストアンサー
回答No.1

オラクルにODBC接続で、Accessでリンクテーブルを張っているのであれば、オラクルのテーブルにキーは張ってありますか? リンクテーブルを張るときに、キーの問い合わせダイアログが出ているようでは、クエリやテーブルからのExcelのセル感覚での更新はできませんよー

pyontanrie
質問者

お礼

大変ありがとうございます。キーを張れば、入力可能になりました。本当に感謝します!

関連するQ&A

  • Access2000 で読み取り専用のエラー

    アクセスでデータベースを作っています。 ユーザーの権限を設定しようと、セキュリティの画面でパスワード などを登録したいのですが 「データベースまたはオブジェクトは読み取り専用なので更新できません」 とでます。 ファイルのプロパティには読み取り専用のチェックはないですし、 設定もしていません。 ほかの質問もよく読んだのですがわかりません。 どうか、わかりやすく教えてください。

  • アクセスからSQL Serverのデーターを更新することができない。

    アクセスのデーターをSQLサーバーへ移行する計画があり、準備のため SQL Developer バージョンで独習中です。SQLサーバーにコピーしたテーブルにアクセスからログインするとテーブルは見られるのですが、データーの変更については「このレコードセットは更新できません」と表示されます。権限の問題ではないかと思われます。 環境と現状の設定: XP Professional SQL Server 2008 Developer Visual Studio 2008  サーバー名: SVR-1 セキュリティー ログイン名: SVR-1\taro サーバーロールのメンバーシップ:sysadmin データーベース名: project ユーザー名: dbo ログイン名: SVR-1\taro 既定のスキーマ: dbo 所有されているスキーマ:なし データーベースのロールメンバーシップ: db_owner 不思議なことに、Visual Studio 2008を使って試作したデーターベースはアクセスから書き換えができます。セキュリティーの設定も何ら変わりがないのですが。 データーベース (project)のユーザー名(dbo)の「所有しているスキーマ」にあるdata_reader, data_writer欄にチェックをいれても結果は同じです。 どこをどのように設定すれば良いのか、ご教示戴きますようお願い致します。

  • access2007でaccess97のデータを読みたい

    初めて投稿します。皆様の知恵をかして下さい Access2007のソフトでaccess97のデータが読めなくて困っています。 97のデータを開こうとするとまず オブジェクト‘ファイル名‘が見つかりませんでした。オブジェクトが存在していること、名前やパス名が正しいことを確認してください と表示されます 次にokをクリックすると 現在のユーザーアカウントでは、このデータベースを変換または有効にする権限がありません。とでて データベースを変換または有効にするには次のいずれかの操作を行ってください *このデータベースにアクセスするときに使うユーザーアカウントを定義しているワークグループに参加します。 *データベースオブジェクトの開く/実行と排他だ開く権限をもつようにします などと でているのですが 書いてある意味が全く理解不能で悩んでいます。 まず access2007でaccess97のデータが読めるのか 読むためにはどうしたらよいか ご教授お願いします

  • 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 です。

  • データアクセスページで更新できない

    WindowsXP(sp2)+Access2000環境でデータアクセスページを作ってみようと思い、簡単なテーブルを作ってページを作成しました。 IEで見ると内容は表示されるのですが、追加や更新ができません。レコードナビゲーションツールバーがグレーになってしまいます。 フィールドリストの接続を見るとアクセス許可がShareDenyNoneにチェックがついていたのでこれが原因かと思いチェックをはずし「ReadWeite」につけましたがokを押して再度見てみるとまた元に戻っています。 なにか権限が必要なのでしょうか? ローカルのデスクトップ上だけで行っているのでユーザー権限ではないと思うのですが、なにか対処法がありましたらご教授願います。

  • ExcelVBAからAccess更新のSQL

    お世話になります。 ExcelVBAからAccessDBを更新するソースを書いています。 外部データMDBを取得するマクロを記録し、SQL文をUPDATEに変更しているのですが、更新されません。 a = "UPDATE `C:\Documents and Settings\User\デスクトップ\sample`.住所テーブル 住所テーブル" & Chr(13) & "" & Chr(10) & "SET 住所テーブル.氏名 = 'b'" .CommandText = Array(a) このaをAccessのクエリで実行すると更新されますが、Excelからだと更新できません。 Commitしてないからでしょうか? ヘルプで検索してもCommittransメソッドと検索されるのですが、右側に内容が表示されません・・・。 ご存知の方、ご教授願います。 情報が足らないなどもお願いします。

  • アクセスの更新クエリーについて

    お世話になっております。 アクセスの更新クエリーについてできるかどうかわかりませんがお聞きしたいことが一つございます。 それは、アクセスで更新クエリーを実行時にメッセージボックス(定型)のがでてきますが、このメッセージボックスの内容を「データが更新しますか?YES/No」みたいな感じにシンプルなメッセージボックスにしたいと考えているのですが、このようなことは可能なのでしょうか? また、ついでといってはなんですが、アクセスのリンクテーブルマネジャを利用した場合、アクセスのデータには最大何人までデータベースを壊さずにアクセスできるのでしょうか?もちろん、同一レコードに数人が書き込みをしようとしていないことが前提だと思いますが(^^;もしよろしければ、リンクテーブルマネジャの概念的なものについてお聞かせいただけたらと思っています。 質問が一つにならずにしまいましたが、よろしくお願いいたします。

  • 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を落とせば正常に動きます。 ご教授よろしくお願い致します。

  • Access ユーザーの権限について

    いつもお世話になっております。 Accessであるデータベースを構築しました。 管理者と30名程度のユーザーのみで利用しようと思い、IDとパスワードのよるセキュリティ対策を考えました。 管理者でログインし各ユーザー設定をして ユーザーの権限「データーの読み取り」のみをユーザーには設定しました。 次にユーザーでログインしユーザーのパスワードも設定 し、うまくいくか試してみました。 IDとパスワードが一致しないとデータベースが開かないところまでは、うまくいったのですが 開いた後、ユーザでのログインなのに新規にデータを追加できたり、データの書き換えまでできてしまいます。 操作ミスかと思い何度か上記の設定をやり直したり、すべてのテーブル、クエリを「読み取り」の設定にしたりしましたが、結果は同じでした。なぜでしょうか?教えて下さい。 また、利用するユーザーが増えたり減ったりするので「IDとパスワードマスター」を作って、管理者の方で一元管理する方法も考えています。その時はどのようにすればよいかも教えて下さい。 よろしくお願いします。