プロが教える店舗&オフィスのセキュリティ対策術

Accessファイルを共有フォルダに入れ、複数のPCより使用しています。
(よくないのはわかっているのですが…)

「予定入力フォーム」というフォームよりデータを入力し、
次に「結果入力フォームから、予定入力したデータを引っ張りだしてきて、結果を入力しています。
テーブルは「マスタテーブル」ひとつです。
「結果入力フォーム」には「作成年月日」というテキストボックスがあり、「
結果入力フォーム」を読み込んだ時の処理に

If IsNull(Me.作成年月日)=True Then
 Me.作成年月日=Date
Else
End If

という式を書き、
とりあえず「結果入力フォーム」を開いたときに今日の日付が自動で入るようにしています。
(Nullであった場合のみ自動で入るようにしています。
2回目以降に「結果入力フォーム」を開いたときは、前回開いたときの日付のままになるように。)

ここで少し不具合が起きまして、1人でアクセスしている場合はよいのですが、
2人以上で「結果入力フォーム」にアクセスすると以下の様なエラーになります。

実行時エラー
このオブジェクトに値を代入することはできません。

Me.作成年月日=Date の記述の部分が黄色くエラーになります。

違うレコードを引っ張っていてもなります。

テーブルの作成年月日のフィールドにすでにデータが入っている場合は、
2人以上でアクセスしても問題なく動作し、
その他の項目も普通に入力でき、テーブルへの更新も問題ないようです。

Me.作成年月日=Date

ここがよくないのでしょうか?

2人以上でアクセスすると必ずこうなる、というわけでもないようで…。
1人が長い間、「結果入力フォーム」を開いた状態で放置していた場合、
次に別PCで結果入力フォームを開くとエラーになるような気がします。
テーブルを触ろうとすると、ロックされています、みたいな感じです。

そもそもAccessは共有に適していない、というお叱りはごもっともなのですが、
回避する記述等、方法があればお願い致します

A 回答 (4件)

連結フォームを利用するのをやめて、データの登録、修正等を


SQL(クエリでも)によって行うことによって解決できると思いますが、、、
ちょっと手間がかかりそうですね。
    • good
    • 0

> Me.作成年月日=Date



ご質問の事例に当てはまるかはわかりませんが(汗)、コントロールを「.」で
参照した場合、動作がおかしくなることがあるようです。
http://oshiete1.goo.ne.jp/qa4462597.html

ですので、とりあえず上記のコードを、
 Me!作成年月日=Date
に変更してみることをお勧めします。
(「.」(ピリオド)を「!」(イクスクラメーション)に変更)

※なお、上記回答の「<修正>」のコードは、実際には修正し忘れていました
 ので、ご注意下さい(汗))
    • good
    • 0
この回答へのお礼

ありがとうございます。

異なるレコードの場合は出たり出なかったりなので、確認が難しいのですが、

同じレコードを見にいった場合は、
教えて頂いたように試してみましたが、同じエラーがでました

ちなみに、
[作成年月日]=Dateとやっても同じみたいです。

お礼日時:2009/08/10 14:40

実行環境がないので、実験できないのですが


Me.作成年月日=Date
の後に
me.refresh
としても解決しませんか?
    • good
    • 1
この回答へのお礼

ありがとうございます。

異なるレコードの場合は出たり出なかったりなので、確認が難しいのですが、

同じレコードを見にいった場合は、
教えて頂いたように試してみましたが、同じエラーがでました。

ちなみに、
[作成年月日]=Dateとやっても同じみたいです。


★☆Ai-Kei☆★

お礼日時:2009/08/10 14:38

(1)Accessのバージョンは?


(2)ロックの設定は?
 メニューバーのツール→オプション→詳細タグ
 ここにある「規定の開くモード」、「規定のレコードロック」など
(3)コードでの設定を止める
 テーブルの該当フィールドの「既定値」に"Date()"、「値要求」に
 "はい"を設定する。

この回答への補足

ありがとうございます
説明不足で申し訳ありません

(1)2003で編集していますが、ファイル形式は2000です。
(2)「規定の開くモード」→共有モード
「規定のレコードロック」→ロックしない
「レコードレベルでロックして開く」にチェックが入っている。

(3)は自分がやりたいような結果になるか
 ちょっと試してみたいと思います。

補足日時:2009/07/28 15:49
    • good
    • 0

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

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

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


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