
いつもお世話になってます。
フォームAにサブフォームを2つ(サブ1とサブ2)を配置しています。
サブ2の紹介者コードが更新されたら、サブ1の会員コードを参照して、テーブル”紹介”に以下のデータを追加するようにVBAを書いています。サブ1は家族データで世帯コードで世帯主を判断、サブ2は紹介者データ。
サブ2の紹介者コード:
Private Sub 紹介者コード_AfterUpdate()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("紹介")
With forms!フォームA!サブ1.Form.RecordsetClone
.MoveFirst
Do Until .EOF
With rs
If !世帯コード <> 1 Then '世帯主はすでに登録済み
.AddNew
.Fields("会員コード").Value = !会員コード
.Fields("紹介者コード").Value = Me.紹介者コード
.Update
End If
End With
.MoveNext
Loop
End With
rs.Clone
Set rs = Nothing
db.Close
Set db = Nothing
End Sub
これを実行すると、サブ1のrecordsetcloneのメンバー(!世帯コードと!会員コード)が
実行時エラー’3265’ このコレクションには項目がありませんとエラーになる。
別なフォームで親側からサブフォームを参照するのには問題ありません。
サブフォームから別なサブフォームの内容を参照するには、何か工夫がいるのでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
この
With rs
~
End With
の中の、!世帯コード、!会員コード、などの
「親」(と言ってよいのかわからないが)は
すべて、rs、つまり"紹介"を指定していることになります。
Private Sub 紹介者コード_AfterUpdate()
Dim db As DAO.Database
Dim rs As DAO.Recordset,rs2 as dao.recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("紹介")
set rs2=forms!フォームA!サブ1.Form.RecordsetClone
rs2.MoveFirst
Do Until rs2.EOF
With rs
If rs2!世帯コード <> 1 Then '世帯主はすでに登録済み
.AddNew
.Fields("会員コード").Value = rs2!会員コード
.Fields("紹介者コード").Value = Me.紹介者コード
.Update
End If
End With
.MoveNext
Loop
後略
では?
回答ありがとうございます。
set recordsetとwithとの関係がよく理解できていませんね。
ご指摘の内容で動作出来ました。(.MoveNextは、rs2.MoveNextに修正して)
早々の解決で、助かります。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
実行時エラー 3265「要求された名前、または序数
Visual Basic(VBA)
-
-
4
選択したチェックボックスのみチェックを入れたいのですが
その他(データベース)
-
5
Access サブフォームでの選択行の取得
その他(データベース)
-
6
ACCESSのフォーム、開くんですが、見えないようにするには
Access(アクセス)
-
7
ACCESSのサブフォームからメインフォームへの移動
Access(アクセス)
-
8
access vbaにてテンポラリーテーブルが作りたいです。
Access(アクセス)
-
9
(ACCESS)条件に応じて、テキストボックスを表示・非表示設定
その他(データベース)
-
10
Accessで、一覧からクリックして詳細表示したい
その他(Microsoft Office)
-
11
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
12
サブフォームの新規レコードに移動したい アクセス
Access(アクセス)
-
13
Access 2010で実行時エラー3061
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
Office2024インストール後の疑問点
-
Office2021を別のPCにインスト...
-
エクセル 日付順に並べてかえた...
-
マイクロソフト オフィスのサポ...
-
エクセルで質問です。 ハイパー...
-
大学のレポート A4で1枚レポー...
-
Excelで〇のついたものを抽出し...
-
パソコンWindows11 Office2021...
-
Microsoft Office Homeインスト...
-
エクセルからメールを作れるか...
-
表の作成について
-
エクセルについて
-
別ブックへのエクセルマクロの...
-
Microsoft365搭載Windows11PCへ...
-
1つのPCに「Excel 2010」「Exc...
-
エクセル 同じ数字を他の列に自...
-
libreoffice calcで行を挿入し...
-
エクセルで特定のセルの値を別...
-
エクセル ○○以上○○以下の関数を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
36設定
-
ACCESS2013 VBA サブフォームか...
-
サブPCの必要性について
-
地上デジタルTVのOFDM方...
-
エミネム モッキンバードのP...
-
「エリア88」サキと7人の仲間
-
ACCESS97 サブフォームのレコー...
-
24 TWENTY FOUR シーズンI...
-
SQLがわかりません
-
これなんのキャラクターか分か...
-
サブメニューの内容変更
-
「20世紀少年」の血の大みそか...
-
主/サブ 2台のPCでipadを管理...
-
(^^♪ ワードのソフトが入った...
-
ご本尊とキム王朝ご先祖さま
-
サイト作成にて
-
先方の想いリーディングお願い...
-
オフィスチェアがぐらつくので...
-
イスを動かすとき「ひく」と言...
-
韓国ドラマはいつから質が変わ...
おすすめ情報