条件によって、レコード一件ずつ、詳細セクションの高さを変えたいんですけど、
Me.Section(0).Height=変数
(変数は、条件によってレコード一件ずつ変わります)
で出来ないんです...
何か間違っていますか?

このQ&Aに関連する最新のQ&A

A 回答 (4件)

はい、マズイ点と言うか、何でこうじゃないといけないの?


というかアクセスのバグなのか、よく分からないのですが、
詳細セクションの"高さ"プロパティ変更コードを、他のプロパティ変更コードよりも後に持ってきて下さい

今回のコーディングでは、
'~~~~~~~~~~
If i_cnt <= 1 Then
Me.Section(0).Height = 240
Else
hei = 240 * i_cnt
'Me.Section(0).Height = hei 'コメントアウト
Me!w_a.Height = hei
Me!直線20.Height = hei
Me!直線21.Height = hei
Me!直線22.Height = hei
Me!直線23.Height = hei
Me!直線24.Height = hei
Me!直線25.Height = hei
Me!直線12.Top = hei
Me.Section(0).Height = hei '←ここに移動
End If
'~~~~~~~~~~
こうする事が望ましいと思われます
(もちろん、詳細のフォーマットイベントプロシージャで行います)

アクセスは、フォームで出来る事が、レポートでは出来ない場合が多いので苦労します(T_T)
(または別の手順で行う...)
    • good
    • 0
この回答へのお礼

早速試してみたんですけど、ダメでした...
条件のi_cntのIf文で、可変にならないんです!(-_-;)
ある程度、Accessのレポートは使いこなしてきたつもりでしたが、こんなちょっとした設定にここまで悩まされるなんて、思いもしませんでした。悔しい~!!(ーー;)

お礼日時:2001/09/17 20:11

こんなサンプル文を作成してみました


奇数行だったら、高さ1000 twip 背景色を赤色にする
偶数行だったら、高さ500 twip 背景色を黄色にする
にするコーディングです
'~~~~~~~~~~
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
Static a As Integer
a = a + 1
If (a Mod 2) = 0 Then
Me.Section(0).Height = 1000 '高さを1000twipにする
Me.Section(0).BackColor = 255 '背景色を赤色にする
Else
Me.Section(0).Height = 500 '高さを500twipにする
Me.Section(0).BackColor = RGB(255, 255, 0) '背景色を黄色にする
End If
End Sub
'~~~~~~~~~~
このままレポートの詳細のフォーマット時イベントプロシージャに貼り付けて確認してみてください
もし、これでもダメな場合は、
どのようなエラーメッセージ?等がでるのか教えて下さい
(またはどのような状態か?)
何度もすみませんm(_ _)m
    • good
    • 0
この回答へのお礼

返答が遅くなってしまって、すみません!!

Ifの条件には、

For i = 55 To 1000 Step 55
i_cnt = i_cnt + 1
If len_wa <= i Then
Exit For
End If
Next i

のi_cntの値で試してみたんですけど、どうもこの先で、

If i_cnt <= 1 Then
Me.Section(0).Height = 240
Else
hei = 240 * i_cnt
Me.Section(0).Height = hei
Me!w_a.Height = hei
Me!直線20.Height = hei
Me!直線21.Height = hei
Me!直線22.Height = hei
Me!直線23.Height = hei
Me!直線24.Height = hei
Me!直線25.Height = hei
Me!直線12.Top = hei
End If
としたら、可変にならないんです。
教えて頂いた、色で可変の文なら上手くいってたんですよ。
どこかマズイ点、ありますか?

お礼日時:2001/09/17 15:22

その後、どのようになったでしょうか?


もしダメでしたら、以下のことについて教えて下さい

(1)レポートの種類は「単票」ですか?それとも「帳票」ですか?
詳細セクションのプロパティ→「書式」→「改ページ」にて確認できます
※ページヘッダー(フッター)または、グループヘッダー(フッター)が付加されていない状態で、"しない"だと「帳票」です

(2)現在の詳細セクションの「高さ」はどのくらいですか?
詳細セクションのプロパティ→「書式」→「高さ」にて確認できます

前回のコーディングで、
>詳細.Height = 2000
と書きましたが、これはtwip単位で記しております
twip単位とは...
「1cm」は、「567twip」です( 1 cm = 567 twip )

もし、前回のコーディングをそのまま使用していれば、(条件文だけ変えて...)
「高さ」の値が"3.5cm"以上だと視覚的にどのように動作しているか分からない状態になってしまいます

あと余談ですが、詳細セクションにあるテキストボックスのプロパティの「書式」→「印刷時拡張」を"はい"にすると、文字量が多ければ自動で詳細セクションが拡張されます

この回答への補足

レポート自体は、帳票式で、
現在の詳細セクションの高さは、0.46cm
 (twipの記載では、240)
詳細セクションのテキストの、印刷自動拡張は、"いいえ"

になっています。
これで、何か原因が見つかれば良いのですが...
どんなもんでしょう?(-_-;)

補足日時:2001/09/11 13:21
    • good
    • 0

詳細セクションのフォーマットイベントを使用しましょう


'~~~~~~~~~~
'サンプル(IF文には、条件を指定して下さい)
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)

If (CSng(Me![Ver]) Mod 2) > 0 Then
詳細.Height = 2000
Else
詳細.Height = 1000
End If

End Sub
    • good
    • 0
この回答へのお礼

ご返答、有難うございます!
試してみたのですが、Ifの条件分岐を使っても、ダメでした...(ーー;)

お礼日時:2001/09/08 14:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報