過去ログ

                                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
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 ───────────────────────────────────────  ■題名 : Re:変数による、レポートの指定につきまして  ■名前 : よろずや  ■日付 : 02/11/16(土) 12:50  -------------------------------------------------------------------------
   >レポートを開くと同時に
>標準モジュール “文字配置”を稼動
>>>>>>>>>>>>>>>>>>    レポート       >>>>>>>>>>>>>>>>>>>>>>>>>>>>
>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
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 ───────────────────────────────────────  ■題名 : Re:変数による、レポートの指定につきまして  ■名前 : 教育関係者  ■日付 : 02/11/16(土) 15:38  -------------------------------------------------------------------------
   よろずや 様

ご教授いただきましてありがとうございます。
レポート名の取得の仕方にこのような方法があることが知れて
とても勉強になりました。

実際にご教授いただきました記述で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
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 ───────────────────────────────────────  ■題名 : Re:変数による、レポートの指定につきまして  ■名前 : よろずや  ■日付 : 02/11/16(土) 16:20  -------------------------------------------------------------------------
   走り書きでのポカです。失礼しました。m(__)m

>rpt & "(授業名" & i &")".TextAlign = 1
>という記述も考えてみたのですが、

rpt.Controls("授業名" & i ).TextAlign = 1

 ───────────────────────────────────────  ■題名 : Re:変数による、レポートの指定につきまして  ■名前 : 教育関係者  ■日付 : 02/11/18(月) 11:51  -------------------------------------------------------------------------
   よろずや 様

ご教授ありがとうございました。
テストしてみましたところ、
私の望んだ動作をしてくれました。

本当にありがとうございました。

またご質問させていただくこともあるかと思います。
その折にも。どうぞよろしくお願い申し上げます。

失礼いたします。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 104