nokonoko
2020/08/04 (火) 17:48:09
653a6@54883
フォームのレコードソースが、M_F_ID またはそれを含むクエリになってませんか。
レコードソースは空欄です
提示のコード以外の部分で、M_F_ID を更新するような操作を行ってませんか。
更新はないと思います。MT_F_ID(M_F_IDは誤植でした)については
コンボボックスcmbVerのイベントがあって、一度参照しています。
Private Sub cmbVer BeforeUpdate(Cancel as integer)
(前略)
strSQL = "SELECT * FROM[MT_F_ID]" & _
"WHERE [FV_ID] = '" & Me.txtFV_ID & "'"
SET rs1 = db.OpenRecordset(strSQL, dbOpenSnapshot)
With rs1
If .EOF then
(以下レコードがない場合はExit sub、
ある場合は、非連結テキストボックスに対して、
Me.txtPCardDate=.Fields("PCard_date")とデータを入れただけ)
コンボボックスcmbF_IDのレコードソースにMT_F_ID関連のクエリを組み込んでいないときはエラーが出ませんので、それ以外の部分で更新の影響が出ていることはないと(勝手に)考えております。
通報 ...
コンボボックスの「値集合ソース」プロパティにクエリ名を設定しているということでしょうか。
(コンボボックスにレコードソースはない)
原理的に考えて、コンボボックスの値集合ソースの設定で、排他エラーがでるとは考えにくいです。
他にそのテーブルと連結しているテーブルとか、更新クエリを実行しているとか、別の処理で排他的に開いているとか、、、
があるとしか思えません。
提示されている情報からは、これ以上のアドバイスは無理です。
もし、本当にコンボボックスの「値集合ソース」プロパティにクエリを設定しない場合はエラーがでないのなら、
「値集合タイプ」を「値リスト」に設定して、
db.OpenRecordset(strSQL, dbOpenSnapshot) という感じでレコードセットを開いて、ループさせて AddItem でリストを追加すればどうでしょうか。