痔になりやすい生活習慣とは?

こんにちは。初心者で本を読んでいるのですが、まったく分からない為質問させていただきました。ACCESS2000を使用し、データの変更作業をしようとしているのですが、「読み取り専用で削除できません」という表示がされ、編集ができません。
テーブルをデータシートビューで開き、その中の1行を削除しようとしているのですが、他にやり方があれば教えてください。また読み取り専用を解除する方法等ありましたら教えてください。
よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

補足から...


>自分でも今調べているのですが、他にありますかね?(困)
 何を調べていますか?
 調べている事を教えて下さい。そうすれば、2度手間にならないで済むので...ね。

 そもそも、Accessはネットワークでの共有環境での動作はあまり評判が良くないので、ローカルにコピーしてやってみて下さい。
 それでできれば、ネットワークの共有設定等を確認して下さい。

この回答への補足

またの回答ありがとうございます。
今調べていることですが、フォームのプロパティを選び、データの更新の許可、削除の許可、追加の許可がいいえになっていないか調べていました。
すべて「はい」になっていたので、問題なさそうです。

あとネットワークでの動作ですが、勉強になりました。ローカルにコピーして一度
試してみたいと思います。何度も回答いただきありがとうございました。
取りあえずこれ以ご質問するのも申し訳ないので、もし解決方法見つかりましたら時間のかるときで結構ですので教えてください。

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

補足日時:2001/10/03 19:48
    • good
    • 6
この回答へのお礼

すいません。IDとPASSを入力するところがあったようで、入力したら編集することができました。いろいろアドバイスいただきありがとうございました。

お礼日時:2001/10/03 21:51

 ファイル自信にアクセス制限がかかっていませんか?



 その場合には、そのMDBファイルのプロパティを見て、読み取り専用にチェックが入っていないか確認して下さい。
 チェックがある場合には、そのチェックを外せば、書き込み可能になります。

この回答への補足

回答ありがとうございます。
実はネットワーク上にあるmdbファイルを読み込んでいるのですが、そのmdbファイルを直接みてプロパティを見たのですが、読み取り専用にはなっていませんでした。

自分でも今調べているのですが、他にありますかね?(困)

補足日時:2001/10/03 18:44
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q「データベースまたはオブジェクトは読み取り専用なので、更新できません」エラーについて

フィールドに数式セットをしようとして以下のように書きましたが
「データベースまたはオブジェクトは読み取り専用なので、更新できません」との
エラーが出ます。アクセスは初心者なので宜しくお願いします。

Dim db As DAO.Database
Dim rst As DAO.Recordset

Set db = CurrentDb
Set rst = db.OpenRecordset("Q02_5_見込み案件数") Q02_5_見込み案件数はクエリ
With rst
Do Until .EOF
.Edit     →ここで上記のエラーが発生します。
!件数 = !件数 * Me.SP予測掛け率
.Update
.MoveNext
Loop
.Close
End With

Aベストアンサー

クエリというのはSQL文をわかりやすく表示したものです。 (ので、クエリでできないものをSQLであればできるという可能性は少ないのですが、クエリというのはGUIですから、何を具体的にやっているのかなどを文章で説明するのは非常に困難ですので、ドキュメント化しにくいという欠点があります。 また、将来的に他のデータベースに変更する際など、手間がかかるのも問題です。)

データベース上ではテーブルの個々のデータの更新はできますが、クエリなどで集計したものや計算したものについては、テーブル上のどのレコードのどの値を変えるかがわからないため更新することができないのが普通です。

質問者様がやりたいことがはっきり見えていないので、正しい回答になるかがよくわからいのですが、
・件数というのがレコード数なら、集計する前のクエリで掛け率を表示する列を作りそれを合計させる
・件数というのが個々のレコードに入っている何らかの値なら、補正件数みたいな列を作りそこに件数と予想掛け率を掛けた値を入れて置き集計させる
などの方法が思いつきます。

QAccessのRefresh・Requery・Repaintの違い

Requeryはもう一度ソースレコード(テーブル)を読み込むようです。このとき、テーブルの先頭レコードに移動してしまいます。
Refreshは最新のレコード(テーブル)を再表示するような気がします。レコードの移動は起こらない気がします。
Repaintは、VBAでキャプションなどを変更したとき使っています。
でも、よくわかっていません。
どんなときにどんなメソッドを使えばいいのでしょうか?
詳しい方、よろしくお願いいたします。

Aベストアンサー

たびたびすみません。
調べてたらこんなのがでてきました。
http://www.nurs.or.jp/~ppoy/access/access/acF007.html

参考URL:http://www.nurs.or.jp/~ppoy/access/access/acF007.html

QアクセスVBAのMe!と[ ]

基本的なことですみません。

アクセスのイベントプロシージャで、Me!ってありますけど、これはどういう意味なんでしょうか?

また、Me!の後に、Me!.~~と書く場合と、Me!.[~~]と書く場合がありますが、どこが違うのでしょうか?

Aベストアンサー

>プロシージャ内で[]を使う場合は、そのフォーム外のオブジェクトを使う場合と考えてよろしいでしょうか?
別のオブジェクトを使う場合だけではありません。
Hensu = Me![Text1]のようにHensuという変数に自身のTest1の値を代入する場合のように。
[]で括られているのがオブジェクト名やコントロール名だよという事。
クエリの抽出条件に存在しない[?]とすれば?というコントロール等が参照できないので?というダイアログが表示されるように?というオブジェクトやコントロールは何?と聞いてくるように。
>フォーム内のオブジェクトの場合はあくまでMe!で良いのでしょうか
Forms.[フォーム名]![コントロール名]やForms![フォーム名]![コントロール名]が構文。
アクティブなフォームが自分自身ならForms![フォーム名]の変わりにMeでもOKですという事。

と言う解釈の方が良いと思います。

QAccessのリンクされたテーブルでリンク先ではデータを変更出来ないようにするには?

AccessでAに元のデータベースファイルがあり、そこに社員一覧のテーブルがあります。Bでその社員一覧のテーブルをリンクで取り込みました。社員一覧テーブルはリンク先のBでは編集・変更など一切出来ないようにすることは可能でしょうか?
他にも、元データのテーブルを参照するだけの(変更不可)の方法があれば教えて下さいませ。
どうぞよろしくお願い致します。

Aベストアンサー

リンクテーブルのプロパティには閲覧のみを許可する・・・
と言うようなものは有りませんので不可能かと思います。当方Access2002
2003や次期Accessがどうなっているのかは分かりませんけど。
データベースを共有して使用する方法
http://support.microsoft.com/kb/882219/ja
↑最後の方の関連情報もご覧下さい。

2002以前であれば
案1
社員一覧テーブルの更新頻度が少なければ、元のMDBにリンクするのではなく
ダミー(元のMDBのコピー)にリンクさせておき、
社員にはテーブルを変更しても正規のMDBには反映されない、
変更しても突然元に戻る場合がある、と通知する。
ご質問者は定期的に元MDBのデータをダミーMDBに反映させる。

案2
リンクテーブルとそれを使ったクエリは非表示にしておいて、
フォームを作成し、プロパティで編集ロックにしておく。
(少しでもAccessを知っている人には効き目が有りません。)

案3
リンクテーブルは作らないで全てVBA・SQL文で作る
作るのが面倒です。

案4
リンク先にあるようにユーザーレベルのセキュリティを設定すれば
運用は一番楽ですが、設定が分かり辛くて難しい。
Access データベースとそのオブジェクトにユーザーレベル セキュリティを設定する (MDB)
http://office.microsoft.com/ja-jp/assistance/HP052578501041.aspx
(全て表示をクリックしてみて下さい)

かな?

リンクテーブルのプロパティには閲覧のみを許可する・・・
と言うようなものは有りませんので不可能かと思います。当方Access2002
2003や次期Accessがどうなっているのかは分かりませんけど。
データベースを共有して使用する方法
http://support.microsoft.com/kb/882219/ja
↑最後の方の関連情報もご覧下さい。

2002以前であれば
案1
社員一覧テーブルの更新頻度が少なければ、元のMDBにリンクするのではなく
ダミー(元のMDBのコピー)にリンクさせておき、
社員にはテーブルを変更しても正規のMDB...続きを読む

QAccess2007 クエリが読み取り専用になってしまう

Access初心者です。

3つのテーブルのデータ(全て)をクエリに抽出して、そのクエリからフォームを作成し、フォーム上からデータ入力をしていきたいと考えております。

しかし、上記方法で作成したフォームは入力ができなく、ヘルプで調べたらフォームが読み取り専用になっているようでした。
いろいろ検索したのですが、どうやら更新可能なクエリにする必要があるみたいなのですが、その方法が分かりません。
宜しくお願いします。

Aベストアンサー

クエリで更新できないパターンは、
1.グループ化をしている
2.テーブルに主キーがない
くらいだと思います。

質問者様の場合は、
たぶん、2の主キーがない、じゃないかな、と思います。

どんなクエリでしょうか?
3つのテーブルは、結合している項目がありますか?

主キーがあっても、結合のしかたで、更新できなくなることもあります。

差し支えなければ、クエリのSQL文を
載せていただけると、原因がわかるかも知れないです。

QACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ

ACCESSで空白のデーターをクエリで判定/識別する方法を教えてください。
EXCELでは空白を""で判定/識別表していますがACCESSではどうなるのでしょうか。

下の例はフィールドに試験番号があればその番号を、空白なら”欠席”と表示しようとしています。
IIf(([試験番号]="空白の場合何を入れる?"),[試験番号],"欠席")

Aベストアンサー

もうひとつの書き方は
式1: IIf([試験番号] Is Not Null,[試験番号],"欠席")
第2、第3引数の、質問の順序にあわせるとこうなる。

Q勝手に読み取り専用ファイルになってしまう

office 2010使用中ですが、ワード、エクセル、パワーポイントの
いずれでも、勝手に読み取り専用ファイルになってしまいます。
あ、あとOSはWin7です。

ファイルを編集し、上書き保存しようとすると、
「このファイルは読み取り専用です」のメッセージが出て
上書き保存できません。

非常に不便なのはもちろんのこと、
そのたびに別名で保存しているので、無駄なファイルが
ふえていってしまいます。

プロパティから、属性を確認しても、
「読み取り専用」にチェックは入っていません。
またほかのアプリケーションを立ち上げていない状態で、
(スタートアップはいくつか立ち上がっている状態)
例えばワードファイルだけ開いても、読み取り専用になったりします。
しかもいつもそうなるわけでなく、時々というか、
突如というか、突然そういう状態になります。

なぜ勝手に読み取り専用になるのでしょうか。

何か解決策はないでしょうか?
教えて頂ければ幸いです。
よろしくお願いいたします。

Aベストアンサー

参照URLとは逆に全般オプションの「読み取り専用を推奨する」 チェック ボックスをオフにすれば良いのではないでしょうか。

参考URL:http://office.microsoft.com/ja-jp/excel-help/HP005201902.aspx

QODBCリンクの際にACCESSでは読み取り専用にしたい!

OracleデータベースをODBCでリンクしてACCESSで利用する際に、ACCESSではデータの更新をできないように(つまり読み取り専用に)したいんですが、どのように設定したらいいのでしょうか?基本的な質問で恐縮ですが、ご教示ください。

Aベストアンサー

ODBC接続で使用するOracle側のユーザにselect権限だけ付与すればどうでしょうか?
つまり・・・ACCESSで使用するOracle側のユーザと、更新作業?を行うユーザを分けるということです。

すんません。ACCESSでもできそうだけど、そっちはよくしらないので・・・・。
意図していることと違ったらごめんなさい。

QAccess サブフォームでの選択行の取得

こんにちは。

Access初心者です。

サブフォームでテーブルの項目を表示させていますが、
選択された行を取得する方法はありますか?
サボフォームの下の方に現在選択されているレコード数が表示されてますが、その値でかまいません。

調べているのですが、なかなか検討がつきません。
宜しくお願い致します。

Aベストアンサー

フォーム名がフォーム1、サブフォームコントロールの名前がサブフォーム1だとすると、

Forms!フォーム1!サブフォーム1.Form.CurrentRecord

で取得できます。
(「Forms」と「Form」がありますのでご注意下さい)


また、フォーム1にコードを記述する場合であれば

Me!サブフォーム1.Form.CurrentRecord

サブフォーム1へのコード記述であれば

Me.CurrentRecord

という構文によっても、それぞれ取得が可能です。

QACCESSでデータ削除すると「読み取り専用」と出る

WINXP、ACCESS2003

ACCESSで二つのテーブルの差分のクエリを作りデータの修正を行っています。
差分のクエリをそのまま、すべて選択してDeleteボタンでデータを削除しようとすると「データは読み取り専用です」と表示され、削除することができません。
レコードを選択して右クリックしても「削除」「新しいレコード」の箇所がグレーになっていて利用できません。
どこかが、読み取り専用になっているのでしょうか?
ちなみに、元のテーブルは削除できます。

よろしくお願いします。

Aベストアンサー

クエリのデータを編集する - Office Online
http://office.microsoft.com/ja-jp/access/HA100978761041.aspx?pid=CH100645771041

を読んでね
> ACCESSで二つのテーブルの差分のクエリを作りデータの修正を
> 行っています。
が、「更新可能なクエリ」では無いと言う結論だと思うよ
クエリの作り方、テーブルの相互関係など、複合的な話で決まるから、現状、SQL文を公開するなり、テーブルの構造の話をするなり、しないと、具体的なアドバイスは、ないということね


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング