Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


337 / 2272 ツリー ←次へ | 前へ→

【12038】実行時エラー2191 まき 11/8/15(月) 16:00 質問[未読]
【12040】Re:実行時エラー2191 まき 11/8/16(火) 14:00 お礼[未読]
【12101】Re:実行時エラー2191 まき 11/10/25(火) 11:17 質問[未読]
【12102】Re:実行時エラー2191 まき 11/10/25(火) 11:18 質問[未読]
【12103】Re:実行時エラー2191 まき 11/10/25(火) 11:19 発言[未読]

【12038】実行時エラー2191
質問  まき  - 11/8/15(月) 16:00 -

引用なし
パスワード
   こんにちは、どうしてもわからないので質問させていただきます。よろしくお願いします。

レポートAがあり、その中にサブレポートBがあります。
このレポートを展開しようとすると、下記のようなエラーメッセージが出てきてしまいます。

実行時エラー'2191':

印刷プレビュー時または印刷を開始した後は、コントロールソースプロパティを設定できません。
@OnOpenイベントが発生したときに、このプロパティを設定するようにしてください。@1@@1

ですが、エラーは出るものの、終了というボタンを押すとちゃんとレポートは作成されます。

実はレポートBは列見出し非固定のクロス集計クエリを基にしているため、Openイベントに下記コードを書いています。

Private Sub Report_Open(Cancel As Integer)
Dim db As DAO.Database
Dim qd As DAO.TableDef
Dim cnt As Integer
Dim fld As DAO.Field
Dim rs As DAO.Recordset


Set db = CurrentDb()
Set qd = db.TableDefs(Me.RecordSource)
Set rs = qd.OpenRecordset

For cnt = 2 To rs.Fields.Count - 1
  Set fld = rs.Fields(cnt)
  Me("Field" & cnt).ControlSource = fld.Name ・・・・※

Next

End Sub

エラー時にデバッグをかけると、※のところで反転します

過去ログを見たり、検索したりして色々調べてみたのですがどうしてもわかりません。
アドバイスよろしくお願い致します。

【12040】Re:実行時エラー2191
お礼  まき  - 11/8/16(火) 14:00 -

引用なし
パスワード
   自己解決しました。

コードの中で

For cnt = 2 To rs.Fields.Count - 1

と書いているにもかかわらず、
Field1というテキストボックスが存在していたために出たエラーメッセージだったようです。
大変お騒がせしました。また何かありましたらお邪魔すると思いますが
よろしくお願い致します

【12101】Re:実行時エラー2191
質問  まき  - 11/10/25(火) 11:17 -

引用なし
パスワード
   こんにちは、よろしくお願いします
やっぱりだめでした。
どうしても実行時エラー2191が出てしまいます。

前回書いた理由で一旦直ったんですけど、又出るようになってしまいました。
相変わらず、終了やデバッグでレポートは作成されますが、印刷が出来ません。
原因と対処法をご教示願いますようよろしくお願いします。


>レポートAがあり、その中にサブレポートBがあります。
>このレポートを展開しようとすると、下記のようなエラーメッセージが出てきてしまいます。
>
>実行時エラー'2191':
>
>印刷プレビュー時または印刷を開始した後は、コントロールソースプロパティを設定できません。
>@OnOpenイベントが発生したときに、このプロパティを設定するようにしてください。@1@@1
>
>ですが、エラーは出るものの、終了というボタンを押すとちゃんとレポートは作成されます。
>
>実はレポートBは列見出し非固定のクロス集計クエリを基にしているため、Openイベントに下記コードを書いています。
>
>Private Sub Report_Open(Cancel As Integer)
>Dim db As DAO.Database
>Dim qd As DAO.TableDef
>Dim cnt As Integer
>Dim fld As DAO.Field
>Dim rs As DAO.Recordset
>
>
>Set db = CurrentDb()
>Set qd = db.TableDefs(Me.RecordSource)
>Set rs = qd.OpenRecordset
>
>For cnt = 2 To rs.Fields.Count - 1
>  Set fld = rs.Fields(cnt)
>  Me("Field" & cnt).ControlSource = fld.Name ・・・・※
>
>Next
>
>End Sub
>
>エラー時にデバッグをかけると、※のところで反転します

【12102】Re:実行時エラー2191
質問  まき  - 11/10/25(火) 11:18 -

引用なし
パスワード
   こんにちは、よろしくお願いします
やっぱりだめでした。
どうしても実行時エラー2191が出てしまいます。

前回書いた理由で一旦直ったんですけど、又出るようになってしまいました。
相変わらず、終了やデバッグでレポートは作成されますが、印刷が出来ません。
原因と対処法をご教示願いますようよろしくお願いします。

【12103】Re:実行時エラー2191
発言  まき  - 11/10/25(火) 11:19 -

引用なし
パスワード
   エラーが出たので、再度送信ボタンを押すと、二重投稿されてしまいました。
すみません。

337 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078191
(SS)C-BOARD v3.8 is Free