Access VBA質問箱 IV

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

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


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

【3929】帳票フォームで交互に色をつけるには GEN 04/12/1(水) 5:10 質問[未読]
【3930】Re:帳票フォームで交互に色をつけるには クロ 04/12/1(水) 8:28 回答[未読]
【3938】Re:帳票フォームで交互に色をつけるには GEN 04/12/1(水) 23:29 質問[未読]
【3941】Re:帳票フォームで交互に色をつけるには クロ 04/12/2(木) 15:39 回答[未読]
【3953】Re:帳票フォームで交互に色をつけるには GEN 04/12/5(日) 22:01 発言[未読]

【3929】帳票フォームで交互に色をつけるには
質問  GEN E-MAIL  - 04/12/1(水) 5:10 -

引用なし
パスワード
   はじめまして。
帳票フォームで交互に色をつける方法を教えてください
レコードの番号がわかればあとは、条件付書式などで何とかなるのですが、..

【3930】Re:帳票フォームで交互に色をつけるには
回答  クロ  - 04/12/1(水) 8:28 -

引用なし
パスワード
   ※テーブル名:テーブルA
 固有IDフィールド:フィールド1(テキスト型/数値型)
 とした場合

フォームのレコードソースとなるものがテーブルの場合
1.レコードソースの[…]でビルダを開くとクエリのデザインビューみたいなものが開きます。
2.必要フィールドを追加
 フィールド1で並べ替えを「昇順」にします。
3.最後のフィールドに
 テキスト型の場合
 式1: DCount("[フィールド1]","テーブルA","[フィールド1] <='" & [フィールド1] & "'")
 数値型の場合
 式1: DCount("[フィールド1]","テーブルA","[フィールド1] <=" & [フィールド1])
 とします。
4.あとは「条件付き書式」を[式1] Mod 2=0 (レコード二行目の条件となります)適宜に

【3938】Re:帳票フォームで交互に色をつけるには
質問  GEN E-MAIL  - 04/12/1(水) 23:29 -

引用なし
パスワード
   ▼クロ さん:
>※テーブル名:テーブルA
> 固有IDフィールド:フィールド1(テキスト型/数値型)
> とした場合
>
>フォームのレコードソースとなるものがテーブルの場合
>1.レコードソースの[…]でビルダを開くとクエリのデザインビューみたいなものが開きます。
>2.必要フィールドを追加
> フィールド1で並べ替えを「昇順」にします。
>3.最後のフィールドに
> テキスト型の場合
> 式1: DCount("[フィールド1]","テーブルA","[フィールド1] <='" & [フィールド1] & "'")
> 数値型の場合
> 式1: DCount("[フィールド1]","テーブルA","[フィールド1] <=" & [フィールド1])
> とします。
>4.あとは「条件付き書式」を[式1] Mod 2=0 (レコード二行目の条件となります)適宜に

早速のご回答ありがとうございました。
私の質問が不十分だった様です。
並べ替えをしても常に交互になっているものを作りたいので
その方法を教えていただければ幸いです。
よろしくお願いします。

【3941】Re:帳票フォームで交互に色をつけるには
回答  クロ  - 04/12/2(木) 15:39 -

引用なし
パスワード
   http://accessclub.jp/bbs3/0037/superbeg15094.html
上記のBBSスレッドの谷牙さんのレスが参考になると思います。

【3953】Re:帳票フォームで交互に色をつけるには
発言  GEN E-MAIL  - 04/12/5(日) 22:01 -

引用なし
パスワード
   ▼クロ さん:
>http://accessclub.jp/bbs3/0037/superbeg15094.html
>上記のBBSスレッドの谷牙さんのレスが参考になると思います。

ありがとうございます。
早速試してみました。
帳票フォームで表示自体は、うまくいきましたが、そのフォームに編集を加えると、一部点滅を繰り返してしまい、うまくいきませんでした。どうやら、編集した段階で、開くイベントが繰り返されてしまうようです。

ほかのサイトでADOやDAOを使って、現在のレコードのNO.を知る方法が載っていたので、それを試してみました。若干重いように感じるのですが、うまくは、いきました。

Public Function GetColor_FS(frm As Form) As Boolean
'
' レコード番号を計算して偶数なら True 奇数なら False を返します
'
 Dim rs As DAO.Recordset
 Dim lngRecno As Long
 
 On Error Resume Next
 With frm
  Set rs = .RecordsetClone
  rs.Bookmark = .Bookmark
  If rs.EOF Or rs.BOF Then
   lngRecno = 0
  ElseIf Err.Number = 0 Then
   lngRecno = rs.AbsolutePosition + 1 '?????
  Else
   Err.Clear
   rs.MoveLast
   lngRecno = rs.AbsolutePosition + 2 '?????
  End If
 End With
 GetColor_FS = IIf(lngRecno Mod 2, False, True)
End Function

いまいち意味が分からないところがあるのですが、もっとよい方法があれば、教えてください。

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