アクセスレポートの最新版状態表示方法とチェック品名のみ表示する方法

このQ&Aのポイント
  • アクセスレポートの最新版を表示させる方法と、チェックの入った品名のみをレポートで表示する方法について教えてください。
  • アクセス2000を使用していますが、レポートを開いた時に全ての品名が表示されてしまいます。
  • チェックの入った品名が1ヶ月に1.2回ほど変わるため、常に最新版のレポートを表示させたいです。具体的な方法を教えてください。
回答を見る
  • ベストアンサー

アクセス。レポートを最新版状態を表示させたい

アクセス2000を使用しています。 チェックを入れてチェックが入った品名のみレポートで表示するようにしています。 チェックが入った品名のみのレポートを常に見れるようにしたいのですがどうしたらいいでしょうか? レポートだけを開くと全ての商品がでる状態です。 1ヶ月に1.2回ほどチェックの入った品名が変わるので常に最新版を見れるようにしたいです。 レポートが表示されるまでの文です。 Private Sub コマンド_Click() If Me.チェック Then Me.品名リスト = Replace(Me.品名リスト & ",", "," & Me.品名 & ",", ",") Me.品名リスト = Left(Me.品名リスト, Len(品名リスト) - 1) Else Me.品名リスト = Me.品名リスト & "," & Me.品名 End If End Sub Private Sub 実行_Click() Dim strFilter As String If Me.品名リスト <> "" Then strFilter = "品名 In(" & Mid(Replace(Me.品名リスト, ",", "','"), 3) & "')" DoCmd.OpenReport "R_カタログ", acViewPreview, , strFilter Else MsgBox "選択されたデータはありません。" End If End Sub 初心者ですので分かりやすく教えて頂けると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.7

ボタン名を「cmdReShowRepot」として、 ボタンを設定し、クリックイベントの内容を以下のように してください。「テーブル2」にYes/No型のフィールドが あるものとしています。レポート名は「RRR」になっています。 テーブル名、レポート名は実際にあわせて変更してください。 'レポートの再表示 Private Sub cmdReShowReport_Click()   Dim db As DAO.Database   Dim rs As DAO.Recordset   Dim strFilter As String   If MsgBox("レポートを再表示しますか?", vbYesNo) = vbNo Then     Exit Sub   Else     Set db = CurrentDb     Set rs = db.OpenRecordset("テーブル2")     rs.MoveFirst     Do Until rs.EOF       '各レコードの「チェック」がTrueになっているものを検索       If rs!チェック = True Then         '変数strFilterに「品名」を「,」で区切り、「'」で囲みながら格納します         strFilter = strFilter & "," & "'" & rs!品名 & "'"       End If       rs.MoveNext     Loop     '文字列strFilterの先頭にいらない「,」がくっついているので取り除きます     strFilter = Right(strFilter, Len(strFilter) - 1)     'strFilterをフィルター用のIn句に整形します     strFilter = "品名 In(" & strFilter & ")"     'フィルタをかけてレポートを開きます     DoCmd.OpenReport "RRR", acViewPreview, , strFilter     '後始末     rs.Close: Set rs = Nothing     db.Close: Set db = Nothing   End If End Sub

IloveCECIL
質問者

補足

何回もすごくご丁寧にありがとうございます。 助かります!すごいです! レポートの表示ですがメインスイッチボードに フィルターがかかったレポート表示のボタンを設定したいのですが それをするにはどうしたらいいでしょうか? 既にスイッチボードがあるので編集でするのは分かるのですが モジュールの実行でしたらいいのですか? やろうと思ってモジュールに同じようなプロシージャをしてみて モジュールを実行しようとしたらメインスイッチボード自体にエラーが出てしまいました。 お手数ですがメインスイッチボードでフィルターのかかったレポートを開く方法を 教えて下さい。よろしくお願いします。

その他の回答 (8)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.9

>やろうと思ってモジュールに同じようなプロシージャをしてみて >モジュールを実行しようとしたらメインスイッチボード自体に >エラーが出てしまいました。 どのようなエラーが出たのでしょうか? 「メインスイッチボード」と言っても普通のいわゆる 「メインフォーム」でボタンなどを設定している のでしょうから、フォームにボタンを一つ設定して、 Private Sub cmdReShowReport_Click() の中身をコピーして貼り付けて 実行するだけだと思いますが。どうでしょうか。

IloveCECIL
質問者

お礼

メニュー用フォームビルダからしていて通常のフォームのように上手くいきませんでしたが モジュールの実行の関数名が違ってたみたいです。。。 やりたい事が全てかないました!!また初心者の私には難題なリクエストがあるかもしれませんが。。。 本当に助かりました。ありがとうございました。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.8

No7に追加です。 何らかの拍子に「チェック」をすべてはずしてしまった ことに気が付かずレポートを再表示しようとしたときの エラー処理を、     Do Until rs.EOF       If rs!チェック = True Then         strFilter = strFilter & "," & "'" & rs!品名 & "'"       End If       rs.MoveNext     Loop     If strFilter = "" Then       MsgBox ("チェックがすべてはずれています。レポートを表示できません。")       Exit Sub     End If     strFilter = Right(strFilter, Len(strFilter) - 1)     strFilter = "品名 In(" & strFilter & ")"     DoCmd.OpenReport "Rカタログ", acViewPreview, , strFilter のように、     If strFilter = "" Then       MsgBox ("チェックがすべてはずれています。レポートを表示できません。")       Exit Sub     End If を、 Loop と strFilter = Right(strFilter, Len(strFilter) - 1) の間にいれておいてください。

IloveCECIL
質問者

お礼

ご丁寧にありがとうございます! No.7の細くのメインスイッチボードの件、宜しくお願い致します。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.6

>なお、フォームでチェックをいれてもレコードの >左側に「鉛筆マーク」が出ている間にcmdMakeList >をクリックしても、・・・・・・・・ に準拠しているのだろうと思いますが。 レコードを強制的に確定させるために、 '品名リストへの登録 Private Sub cmdMakeList_Click()   Dim rs As DAO.Recordset   Set rs = Me.RecordsetClone   DoCmd.RunCommand acCmdSaveRecord   rs.MoveFirst   Do Until rs.EOF のように、 DoCmd.RunCommand acCmdSaveRecord を追加してください。 なお、「品名リストへの登録」フォームで、データを 誤って書き換えないようにするには、「チェック」 以外はプロパティで「編集ロック」を「はい」に しておきます。

IloveCECIL
質問者

補足

親切に教えて頂きありがとうございます。 フォームを閉じてしまうと品名リストが消えてしまいもう一度cmdMakeListを押して cmdShowReportを押さないとダメな状態なのですがメインスイッチボードに チェックされてるレポートを開けるようなボタンを設置するようには出来ますでしょうか? 宜しくお願い致します。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.5

DAOはAccess2000ならば、Microsoft DAO 3.6 Object Librayです。 作成して確認してみてください。提案に必要な部分です。 質問ですが。 「チェック」というフィールドは、「テーブル1」に設定して いるのですか、あるいは「テーブル2」ですか?さらに 「チェック」はテキスト型ですか、あるいはYes/No型ですか。 また、 >チェックのコントロールソースに >=InStr([品名リスト] & ",","," & [品名] & ",") >の式が入っています。 のところが不可思議なのですが、これからすると 「チェック」はテキストボックスですか? >チェックを入れて選んだ商品がレパートに出るまでは上手くいくのですが チェックはフォームでいれることができるのですか? >クエリで品名をグループ化サイズと重量などののそれぞれの平均、 >最小、最大をクエリで ならば、このクエリは更新できないのでは、と思うのですが。 提案として。 >クエリで品名をグループ化サイズと重量などののそれぞれの平均、最小、 >最大をクエリで計算しています。 >クエリを元にフォームを作成しています。 この部分を、クエリを基にレポートを作成し、 フォームは「テーブル2」にYes/No型のフィールドを 設定し、それを基に作成するようにしたらどうですか。 作成方法はNo3での方法です。

IloveCECIL
質問者

補足

フォームフッターに非連結のテキストボックス”品名リスト”を配置してます。 フォームの詳細にチェックボックスを配置していて非連結です。これが”チェック”です。 そのチェックボックスのコントロールソースに =InStr([品名リスト] & ",","," & [品名] & ",") このチェックボックスの上に透明でコマンドボタン”コマンド”を配置しています。 クエリが更新されないというのはどういう意味での更新でしょうか? データを入力しても反映されないという事でしょうか? 日々入力しても反映はされています。見当違いのことを言っていたらすいません>_< DAOの設定がゆうこうになってなかったみたいです。 有効にしてしてみたのですが、チェックした商品全てがレポートにでてきません。 チェックが数個あるのに3つぐらいしかでないみたいです。。。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.4

No3です。もし、チェックを入れない場合に すべて表示するならば、以下のように。 'レポートの表示 Private Sub cmdShowReport_Click() Dim strFilter As String If Me!品名リスト <> "" Then   strFilter = "品名 In(" & Me!品名リスト & ")"   DoCmd.OpenReport "RRR", acViewPreview, , strFilter Else   'ここを変更   MsgBox "すべて表示します。"   DoCmd.OpenReport "RRR", acViewPreview End If End Sub

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

>チェックを入れた品名だけをレポートに出すようにしたくて ということであれば、Private Sub コマンド_Click() の 中身から変更する必要があるのでは、と思いますが。 質問に出てくる「品名リスト」、「品名」が何者なのか あるいはフォームがどのような構造なのか「チェック」 ってどこに・・・・? 一切情報がないので話を追っていった感じから、一度 以下のような要領でフォームを作ってみてください。 その上で、質問の内容にフォームやレポートの レコードソースなどを変更しても遅くはないと思います。 (1) テーブルを一つ作成します。名前を「テーブル100」とします。 ID  オートナンバー 品名 テキスト型 チェック Yes/No型 品名に適当にデータを入力してください。 (これは補足にあるテーブル2でいいのでは) (2) 「テーブル100」をレコードソースとして、「フォームの新規作成」 から、「表形式」を選択し、適当な名前で保存します。 (3) 保存したフォームをデザインビューで開き、「詳細」部分に カーソルを当て下にずイーーっと引き下げ、ついでに ラベルも引き下げておきます。 (4) フォームに出来たスペースにボタンを三つ、大き目の テキストボックスを一つ設定します。 テキストボックスの名前を「品名リスト」とします。 (5) 三つのボタンの名前をそれぞれ、cmdMakeList、 cmdShowReport、cmdCheckRefreshとします。 それぞれのボタンのクリックイベントに 以下を設定してください。 なお、DAOをシヨウしているので、コード表で DAOへのチェックを確認しておいてください。 Microsoft DAO XX Object Libray のようなものです。 (6) '品名リストへの登録 Private Sub cmdMakeList_Click()   Dim rs As DAO.Recordset   Set rs = Me.RecordsetClone   rs.MoveFirst   Do Until rs.EOF     'チェックがされているレコードがあった場合     If rs!チェック = True Then       '品名リストにデータが登録されている場合       If Not IsNull(Me!品名リスト) Then         Me!品名リスト = Me!品名リスト & "," & "'" & rs!品名 & "'"       '品名リストにデータが登録されていない場合       Else         Me!品名リスト = "'" & rs!品名 & "'"       End If     End If     rs.MoveNext   Loop rs.Close: Set rs = Nothing End Sub (7) 'レポートの表示 Private Sub cmdShowReport_Click() Dim strFilter As String If Me!品名リスト <> "" Then   strFilter = "品名 In(" & Me!品名リスト & ")"   DoCmd.OpenReport "RRR", acViewPreview, , strFilter Else   MsgBox "選択されたデータはありません。" End If End Sub (8) 'チェックの初期化(チェックをはずします) 'SQL文を投げてもいいのですが、このままで。 Private Sub cmdCheckRefresh_Click()   Dim rs As DAO.Recordset   Set rs = Me.RecordsetClone   rs.MoveFirst   Do Until rs.EOF     rs.Edit     rs!チェック = False     rs.Update     rs.MoveNext   Loop   'これはいれなくても大丈夫だと思いますが、念のために Me.Requery   rs.Close: Set rs = Nothing End Sub (9) レポートを作成します。便宜上レポートの レコードソースは「テーブル100」とします。 レポートの新規作成で、「表形式」を選択し、 レコードソースを「テーブル100」を選択し、 名前を「RRR」としてください。レポートを 表示するコードの中でレポート名を「RRR」 としています。 以上で、質問の意図に沿ったものが出来るか 確認してみてください。 なお、フォームでチェックをいれてもレコードの 左側に「鉛筆マーク」が出ている間にcmdMakeList をクリックしても、鉛筆マークのついたレコードは 確定したものとは見なされないので、どこか別の レコードのフィールドをクリックして「鉛筆マーク」 を消して、レコードを確定してください。

IloveCECIL
質問者

補足

コンパイルエラーでユーザー定義型は定義されていません。となります。 DAOの部分で引っかかってる感じです。 分かりにくいかもしれませんがもう少し詳しく説明したいと思います。 テーブルが2つあります。 テーブル1には日々入力してるデータを保存しています。 フィールドに日付、品名、サイズ、重量などの項目があります。 テーブル2に品名の規格値などを保存しています。 フィールドに品名、サイズの規格値、重量の規格値、などなどがあります。 クエリで品名をグループ化サイズと重量などののそれぞれの平均、最小、最大をクエリで 計算しています。 クエリを元にフォームを作成しています。 チェックのコントロールソースに =InStr([品名リスト] & ",","," & [品名] & ",") の式が入っています。 チェックを入れて選んだ商品がレパートに出るまでは上手くいくのですが その状態を維持させる事ができません。 ずっとそのままではなく、ちぇっくは1ヶ月に数回変わります。 自分で説明してても分かりにくいのできっともっと分かりにくいですよね。 すいませんがご教授お願い致します。

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

#1です。何度か補足を読み返してみたのですが。。。 「チェック」フィールド?の説明が無いのですが、 パラメータの入力を促されるのは、「R_カタログ」レポートのレコードソースになっている クエリ?に「チェック」フィールドが含まれていないためかと思います。 レポート内に配置する必要はありませんが、レコードソース中には入れて試してみてください。 私の勘違いならゴメン。

IloveCECIL
質問者

補足

チェックのフィールドを作成し再度してみましたがパラメータの入力はなくなりましたが チェックが入っていても入ってるようにならず1つも品名がでてきません。 クエリでグループ化してるのでできないのでしょうか?

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

Private Sub 実行_Click() Dim strFilter As String If Me.品名リスト <> "" Then strFilter = "品名 In(" & Mid(Replace(Me.品名リスト, ",", "','"), 3) & "')" 'DoCmd.OpenReport "R_カタログ", acViewPreview, , strFilter 'を↓ DoCmd.OpenReport "R_カタログ", acViewPreview,wherecondition:= "[チェック] = true" 'で良さそうに思えますけど。 'そちらの状況が分かりづらいですね Else MsgBox "選択されたデータはありません。" End If End Sub

IloveCECIL
質問者

補足

教えて頂いたコードに変更するとパラメータの入力で「チェック」が出てきます。 別フォームでテーブル1に日付やその都度のサイズなどを入力しています。 テーブル2には商品別の規格値などが入ってます。 今回のフォームにはクエリを使って商品の平均値や最小値、最大値が表示されてます。 今回のフォームにレポートに表示させたい品名部分にチェックを入れると レポートに表示させ、その表示されたレポートをチェックしなくても見れる状態にしたいです。 チェック部分は月に数回変わりますので簡単に変更できるようにしたいです。 分かりにくい説明ですが宜しくお願い致します。

関連するQ&A

  • クエリ式'(品名 In(A102))'の構文エラー

    実行時エラー'3075': クエリ式'(品名 In(A102))'の構文エラー:演算子がありません。 とでます。どこがダメなのか分かりませんので教えて下さい。 アクセスは初心者ですので分かりやすくお願いします。 チェックを入れた品名だけをレポートに出すようにしたくて 調べて下記のようにしたのですがエラーが出ます。 Private Sub コマンド_Click() If Me.チェック Then Me.品名リスト = Replace(Me.品名リスト & ",", "," & Me.品名 & ",", ",") Me.品名リスト = Left(Me.品名リスト, Len(品名リスト) - 1) Else Me.品名リスト = Me.品名リスト & "," & Me.品名 End If End Sub Private Sub 実行_Click() Dim strFilter As String If Me.品名リスト <> "" Then strFilter = "品名 In(" & Mid(Me.品名リスト, 2) & ")" DoCmd.OpenReport "Rカタログ", acViewPreview, , strFilter Else MsgBox "選択されたデータはありません。" End If End Sub

  • 12個のCommandbuttonをスマートに

    はじめまして 2003 XP UserFormにCommandbuttonが12個あります。 Private Sub CommandButton1_Click() If Me.MultiPage1.Value = 0 Then TextBox3.Value = TextBox3 & "1" Else: TextBox1.Value = TextBox1 & "1" End If End Sub Private Sub CommandButton2_Click() If Me.MultiPage1.Value = 0 Then TextBox3.Value = TextBox3 & "2" Else: TextBox1.Value = TextBox1 & "2" End If End Sub Private Sub CommandButton3_Click() If Me.MultiPage1.Value = 0 Then TextBox3.Value = TextBox3 & "3" Else: TextBox1.Value = TextBox1 & "3" End If End Sub Private Sub CommandButton4_Click() If Me.MultiPage1.Value = 0 Then TextBox3.Value = TextBox3 & "4" Else: TextBox1.Value = TextBox1 & "4" End If End Sub Private Sub CommandButton5_Click() If Me.MultiPage1.Value = 0 Then TextBox3.Value = TextBox3 & "5" Else: TextBox1.Value = TextBox1 & "5" End If End Sub Private Sub CommandButton6_Click() If Me.MultiPage1.Value = 0 Then TextBox3.Value = TextBox3 & "6" Else: TextBox1.Value = TextBox1 & "6" End If End Sub Private Sub CommandButton7_Click() If Me.MultiPage1.Value = 0 Then TextBox3.Value = TextBox3 & "7" Else: TextBox1.Value = TextBox1 & "7" End If End Sub Private Sub CommandButton8_Click() If Me.MultiPage1.Value = 0 Then TextBox3.Value = TextBox3 & "8" Else: TextBox1.Value = TextBox1 & "8" End If End Sub Private Sub CommandButton9_Click() If Me.MultiPage1.Value = 0 Then TextBox3.Value = TextBox3 & "9" Else: TextBox1.Value = TextBox1 & "9" End If End Sub Private Sub CommandButton10_Click() If Me.MultiPage1.Value = 0 Then TextBox3.Value = TextBox3 & "0" Else: TextBox1.Value = TextBox1 & "0" End If End Sub Private Sub CommandButton11_Click() If Me.MultiPage1.Value = 0 Then TextBox3.Value = TextBox3 & "00" Else: TextBox1.Value = TextBox1 & "00" End If End Sub Private Sub CommandButton12_Click() If Me.MultiPage1.Value = 0 Then TextBox3.Value = TextBox3 & "000" Else: TextBox1.Value = TextBox1 & "000" End If End Sub  これをもっとスマートに出来ないでしょうか? 宜しくお願いします。

  • アクセス2000のレポートでイメージを表示させたいのですが

    アクセス2000でデータベースを作成しています。レポートについて分からないことがあるので教えてください。 ・ImageFileというフィールドにイメージファイルのフルパスを入力しておき、フォーム上のPictureを配置し、下記のようなコードを記述して、Pictureに、イメージファイルを読み込んで表示させています。 Private Sub Form_Current() If IsNull(Me.ImageFile) Then   Me.イメージ.Picture = "d:\nonimage.jpg" Else: Me.イメージ.Picture = Me![ImageFile] End If End Sub ・同じような方法でレポートでイメージを印刷させることは出来ないでしょうか?  尚、ImageFileはレコード毎に異なるものを使用しています。

  • Accessレポートで1行おきに色を変える

    Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer) FontCount = FontCount + 1 If FontCount Mod 2 = 1 Then Me.Section(0).BackColor = 16777215 Else Me.Section(0).BackColor = 16777164 End If End Sub としてみました。 ですが何らかわりなく… 試しに Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer) FontCount = FontCount + 1 If FontCount Mod 2 = 1 Then Me.Section(0).BackColor = 16777215 Else Me.Section(0).BackColor = 16777164 End If MsgBox FontCount End Sub としてみたところずーっと「1」が表示され、変数がかわってないようです。 いったいどこがダメなのでしょうか? 確か以前できたはずなのに…(><)

  • アクセスのフォームで

    アクセスのフォームで、品番一覧というテーブルを基にした、F品番一覧というフォームがあります。 ヘッダー部に検索するコンボボックスがあり、品番一覧テーブルの品番を参照しています。 検索ボタンを押すと、コンボボックスの内容に当てはまるものが、フォームの詳細部に一覧として表示させる様にしたのですが、品番に"50#1"や"50#2"という#を使い、1と2を分けている物があるのですが、コンボボックスで、この#が付いた物で検索すると検索結果がなにも表示されません。#が付いていない物はちゃんと一覧が表示されます。 #が付いている場合でもちゃんと表示するにはどの様にしたら良いですか?テーブル側の#を取り除く事はできません。 検索ボタンのコードは Private Sub 検索_Click() Dim strFilter As String, strExp As String, aryOpe As Variant If Not IsNull(Me.txt氏名) Then strFilter = strFilter & " AND 品番 Like *" & Me.品番一覧 & "*" End If Me.Filter = Mid(strFilter, 5) If strFilter = "" Then Me.FilterOn = False Else Me.FilterOn = True End If となっています。 うまく説明できなくてすいませんが、誰か教えて頂けませんか? よろしくお願いします。 End Sub

  • 複数条件で抽出後結果をフォームに表示する方法

    フォーム上で「客先名」と「納入日」を指定して、その指定したものだけを表示したいと思い、下記のURL参考にさせていただき、自分で必要と思われる箇所を変更してみたのですが、「コンパイルエラー:プロシージャの外では無効です」とでて、うまくいきません。 私の知識不足でどこがどう悪いのかわからないので、どうかお助けください。 参考URL:http://hatenachips.blog34.fc2.com/blog-entry-129.html ※「納入日」はたとえば「2013/05/01~2013/05/20」というふうに範囲指定したいです。 ※作ったテキストボックス名は txt客先名、min年月日、max年月日 で、 抽出したいフィールド名は「客先名」と「納入日」です。 ↓URLを参考に自分なりに書き換えてみたコード Private Sub cmdFilter_Click() Dim strFilter As String, strExp As String, aryOpe As Variant If Not IsDate(Me.min年月日) Then MsgBox "日付ではありません。" Me.min年月日.SetFocus Exit Sub End If If Not IsDate(Me.max年月日) Then MsgBox "日付ではありません。" Me.max年月日.SetFocus Exit Sub End If If Not IsNull(Me.txt客先名) Then strFilter = strFilter & " AND 客先名 Like '*" & Me.txt客先名 & "*'" End If If Not IsNull(Me.min年月日) Then strFilter = strFilter & " AND 納入日 >= #" & Nz(Me.min年月日) & "#" End If If Not IsNull(Me.max年月日) Then strFilter = strFilter & " AND 納入日 <= #" & Nz(Me.max年月日) & "#" End If Me.Filter = Mid(strFilter, 3) If strFilter = "" Then Me.FilterOn = False Else Me.FilterOn = True End If End Sub Private Sub cmdFilterOff_Click() Me.Filter = "" Me.FilterOn = False Me.txt客先名 = Null Me.min年月日 = Null Me.max年月日 = Null End Sub 以上、よろしくおねがいします。

  • アクセス レポート バックカラーの変更方法

    現在レポートで1行ごとにバックカラーを変えて印刷しておりますが、それをチェックボックスにチェックがはいった行だけをカラーにするよう変更したいと考えておりますが、よくわかりません。現在のコードをコピーしました。お手数ですがご指導願います。 Option Compare Database Dim bline As Integer Private Sub Report_Open(Cancel As Integer) End Sub Private Sub ページヘッダー_Format(Cancel As Integer, FormatCount As Integer) bline = 0 End Sub Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) bline = bline + 1 If bline Mod 2 Then Me.Section(0).BackColor = 16777215 Else Me.Section(0).BackColor = 12663225 End If End Sub

  • アクセス レポートに線引き

    アクセス2000のレポートです。 Private Sub 詳細_Format(~~ If Me.CurrentRecord Mod 5 = 0 Then Me.Line (~~~~ End If End Sub のように、5行おき線を引いています。 でも、1ページ目が全部で18行だとすれば、2ページ目は3行目に線が引かれます。 改ページされたら、また5行目に線を引くにはどうしたらよろしいでしょうか?

  • Accessのレポートで開くと「読み取り専用なので…」と出る。

    今まで通常通り表示できていたレポートを、詳細のところを白/グレーのストライプにしようと思い、以下のコードを追加しました。 Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) Count = Count + 1 If Count Mod 2 = 1 Then Me.Section(0).BackColor = 16777215 Else Me.Section(0).BackColor = 12632256 End If End Sub すると 実行時エラー'2135' このプロパティは読み取り専用であるため、設定できません。 と出てしまいました。 どこがダメなのでしょうか?

  • Accessのレポートに取り消し線を表示したい

    いつもお世話になっています。 名簿を作成しているのですが、結婚して姓が変わった場合、 上書きせずに新しい姓を別のテキストボックスに入力します。 これをレポートとして出力する際、新しい姓が入力された場合は、 過去の指名のテキストボックスに二重線を引きたいのですが うまくいきません。 Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) If 新姓 <> "" Then Me.取り消し線1.Visible = True Me.取り消し線2.Visible = True Else Me.取り消し線1.Visible = False Me.取り消し線2.Visible = False End If End Sub お力添えをお願いいたします。

専門家に質問してみよう