Page 104 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼変数による、レポートの指定につきまして 教育関係者 02/11/15(金) 18:48 ┗Re:変数による、レポートの指定につきまして よろずや 02/11/16(土) 12:50 ┗Re:変数による、レポートの指定につきまして 教育関係者 02/11/16(土) 15:38 ┗Re:変数による、レポートの指定につきまして よろずや 02/11/16(土) 16:20 ┗Re:変数による、レポートの指定につきまして 教育関係者 02/11/18(月) 11:51 ─────────────────────────────────────── ■題名 : 変数による、レポートの指定につきまして ■名前 : 教育関係者 ■日付 : 02/11/15(金) 18:48 -------------------------------------------------------------------------
申し訳ございません。 数種類同じ構造のレポートがありますので 標準モジュール上に 使いまわししたいプログラムを書き、 標準モジュール上 “Reports!特別レポート!("授業名" & i).TextAlign = 3” という記述の中の “特別レポート”という部分を変数(仮にataiとする。)にして 他にも“標準レポート”などいろいろなレポートに 使いまわしたいと考えているのですが “("授業名" & i)” の部分にて、i という1〜90の数字が入る変数も使用していまして、 私ではうまく変数を使えないでおります。 "Reports!" & atai & "!(授業名" & i & ").TextAlign" = 3 などと試してみたのですが、 基本ルールがわかっていないので、何パターンか試してみましたが 構文エラーなど走ってうまくいきません。 どなたか、変数によってレポートの指定方法が おわかりになられます方、ご教授のほどよろしくお願い申し上げます。 ↓は主な記述です。 フォーム上で完了というボタンを押しますと 変数ataiに”特別レポート”を格納して特別レポートを開く。 >>>>>>>>>>>>>>>>> フォーム画面 >>>>>>>>>>>>>>>>>>>>>>>>>>>> Private Sub 完了btn成績選択_Click() ……………… DoCmd.SetWarnings False atai = 特別レポート For r = 1 To n DoCmd.OpenReport "特別レポート", acNormal, "", "" Next r atai = "" DoCmd.SetWarnings True ……………… end sub >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> レポートを開くと同時に 標準モジュール “文字配置”を稼動 >>>>>>>>>>>>>>>>> レポート >>>>>>>>>>>>>>>>>>>>>>>>>>>> Private Sub Report_Open(Cancel As Integer) Call 文字配置 End Sub >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> 標準モジュール >>>>>>>>>>>>>>>>>>>>>>>>>>>> Option Compare Database Public reportatai As String Public Sub 文字配置() Dim i As Integer '******************************************************* '成績選択画面で入力した科目の値でサブタイトル()つきのものは 'レポートで右詰め出力の設定一文字目が( だと右詰めになる。 '******************************************************* For i = 1 To 90 Select Case DLookup("右揃え", "授業名", "日本語='" & kamoku(i) & "'") Case True Reports!特別レポート!("授業名" & i).TextAlign = 3 '↑この部分を変数にしたい。 Case Else Reports!特別レポート!("授業名" & i).TextAlign = 1 '↑この部分を変数にしたい。 End Select Next i End Sub >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
>レポートを開くと同時に >標準モジュール “文字配置”を稼動 >>>>>>>>>>>>>>>>>> レポート >>>>>>>>>>>>>>>>>>>>>>>>>>>> >Private Sub Report_Open(Cancel As Integer) >Call 文字配置 Call 文字配置(Me) >End Sub >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> 標準モジュール >>>>>>>>>>>>>>>>>>>>>>>>>>>> >Option Compare Database >Public reportatai As String > >Public Sub 文字配置() Public Sub 文字配置(rpt As Report) > >Dim i As Integer > >'******************************************************* >'成績選択画面で入力した科目の値でサブタイトル()つきのものは >'レポートで右詰め出力の設定一文字目が( だと右詰めになる。 >'******************************************************* >For i = 1 To 90 > >Select Case DLookup("右揃え", "授業名", "日本語='" & kamoku(i) & "'") > Case True > Reports!特別レポート!("授業名" & i).TextAlign = 3 rpt.TextAlign = 3 > '↑この部分を変数にしたい。 > > Case Else > Reports!特別レポート!("授業名" & i).TextAlign = 1 rpt.TextAlign = 1 > '↑この部分を変数にしたい。 > >End Select >Next i > >End Sub >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
よろずや 様 ご教授いただきましてありがとうございます。 レポート名の取得の仕方にこのような方法があることが知れて とても勉強になりました。 実際にご教授いただきました記述でTESTしたのですが、 “rpt.TextAlign = 3” の部分にて 『アプリケーション定義またはオブジェクト定義のエラーです』 とのエラーが走ってしまいます。 自分自身でも原因などを素人考えながら推測してみたのですが、 変数rptにはローカルウィンドゥを開いてみると “Report/Report_特別レポート”が入っているので TextAlignを設定したいテキストボックス ("授業名" & i)の記述が足りないのではないかと考えました。 その場合には、一番最初にさせていただいた質問と同じ問題で どのように記述してよいか困惑してしまうのですが、 rpt & "(授業名" & i &")".TextAlign = 1 という記述も考えてみたのですが、 なにか根本的に違うようです。 現在の私に起こっておりますエラーと それに対する私の進んでいる方向に ご指摘いただきたく、お願い申し上げます。 >>>>>>>>>>>>>>>>>>> レポート >>>>>>>>>>>>>>>>>>>>>>>>>>>> >>Private Sub Report_Open(Cancel As Integer) >Call 文字配置(Me) >>End Sub >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> 標準モジュール >>>>>>>>>>>>>>>>>>>>>>>>>>>> Option Compare Database Public reportatai As String Public Sub 文字配置(rpt As Report) Dim i As Integer '******************************************************* '成績選択画面で入力した科目の値でサブタイトル()つきのものは 'レポートで右詰め出力の設定一文字目が( だと右詰めになる。 '******************************************************* For i = 1 To 90 Select Case DLookup("右揃え", "授業名", "日本語='" & kamoku(i) & "'") Case True rpt.TextAlign = 3 '↑この部分でエラーが出てしまいます。 Case Else rpt.TextAlign = 1 '↑この部分でエラーが出てしまいます。 End Select Next i End Sub >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
走り書きでのポカです。失礼しました。m(__)m >rpt & "(授業名" & i &")".TextAlign = 1 >という記述も考えてみたのですが、 rpt.Controls("授業名" & i ).TextAlign = 1 |
よろずや 様 ご教授ありがとうございました。 テストしてみましたところ、 私の望んだ動作をしてくれました。 本当にありがとうございました。 またご質問させていただくこともあるかと思います。 その折にも。どうぞよろしくお願い申し上げます。 失礼いたします。 |