ウィンドウズ98、ACCESS2000です。

 レポートを作っているのですが、該当するレコードが未入力の場合、
¥0とレポートには出力させたいのです。レポートのプロパティ設定
で規定値を0としても、レポート上空で出力されてしまうのですが。

 宜しくお願いします。

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

A 回答 (5件)

デザインビューで、該当するテキストフィールド(?)の


プロパティを開きます。データタブのコントロールソースを修正します。
例えば元が価格だったとすると、それを
=IIf([価格]Is Null,0,[価格])
とします。
後は、k_eba さんの設定でできるはずです。
    • good
    • 0

すみません、再び#4のstorkです。



nz関数は、明示的に返す値をしてしなければならないこともあるようですので訂正します。

=Nz([金額],0)
    • good
    • 0

=Nz([金額])



Nz関数は、値がnullだったら、ゼロを返します。
    • good
    • 0

>データ未入力の場合


 データ未入力=NULL(ヌル、データがない)
であれば
=IIf([金額]IS NULL,0,[金額])
として
もし金額がNULLだったら0を設定しなさい
NULL意外ら金額を設定しなさいとして下さい。
    • good
    • 0

レポートのプロパティ設定の書式を通貨


または¥#,##0
で表示できます。

この回答への補足

 通貨にはしてあるのですが、対応レコードがその部分データ未入力の場合、レポートにすると何も表示されないんですが・・・・。

補足日時:2001/10/29 11:47
    • good
    • 0

このQ&Aに関連する人気のQ&A

レポート」に関するQ&A: レポートの書き方

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

関連するカテゴリからQ&Aを探す

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

このQ&Aと関連する良く見られている質問

QAccessのレポート出力をWordに出力する方法

AccessDBにて、ある伝票をレポート出力しました。
今まではワードにて伝票作成しメール送信していたやつです。
現在はレポート印刷で「紙」になってしまいます。
できれば、「ワードファイル」または「HTMLファイル」に出力して、メールへ添付をしたいのです。
なので、伝票をワード形式にしたいのですが、Accessのエキスポートにはワードはありせん。
ACCESSDBへデーターを入力して、「ボタン押下」で
ワードのフォーマットのファイルに出力する方法は
ないのでしょうか?

Aベストアンサー

97ですが、出力したいレポートを表示してメニューより
ツール→Office LinksでWordかExcelに出力できます。
それより新しい2000などでも可能だと思います

QAccess:フォームをクリック!該当レコードを開くには?

Aテーブルを参照している2つのフォームがあります。
Bフォームは、Aテーブルの全内容を表示し、
Cフォームは、特定の項目のみを表示します。
そこで!Cフォームで、詳細を見たいレコードをクリックすると、
Bフォームの該当レコード(全内容)が開かれるようにしたいのですが、
可能なのでしょうか。
VBAは初心者ですが頑張りますので、ぜひ教えてください。

Aベストアンサー

[コード].SetFocus 
これは「コード」のフィールドにマウスポイント置いてアクティブにします(つまり検索前にコードのフィールドをアクティブにします。)
 フィールド名は[]で指定します。

Me!は検索対象のPage(この場合,vbaの対象が開かれているフォームを指します。)を指定しています。
 べつのフォームを検索するときはフォーム名を指定しなければいけません。

 Excelなどでセルを選択すると太線でセルが表示されますが、そのセルにSetFocusがあるということです。
 フォーカス(カメラの焦点のことをフォーカスといいます 焦点を絞る)を移す時にこのsetfocusを使います

 Accessのヘルプを表示してキーワードに「setfocusメソッド」といれて検索してください。

 一度にVBAを覚えるのは無理ですが少しずつでも覚える姿勢があればはやくマスターできるでしょう。 私だって全部知っている訳ではなく、必要に迫られて作っているだけです。
 Accessの参考書にはいろいろ載っていますが、私は、ほとんどビジュアルベーシックで覚えました。
 ビジュアルベーッシックとAccessのVBAは共通部分がたくさんありますよ。

[コード].SetFocus 
これは「コード」のフィールドにマウスポイント置いてアクティブにします(つまり検索前にコードのフィールドをアクティブにします。)
 フィールド名は[]で指定します。

Me!は検索対象のPage(この場合,vbaの対象が開かれているフォームを指します。)を指定しています。
 べつのフォームを検索するときはフォーム名を指定しなければいけません。

 Excelなどでセルを選択すると太線でセルが表示されますが、そのセルにSetFocusがあるということです。
 フォーカス(カメラの焦...続きを読む

QAccess2002 レポートへの出力条件

Access2002で以下のようなイメージのレポートを作っています。
「発注量」が 「0」のときは発注日付を空白にしたいのですが、どのようにすればよいでしょうか?
よろくお願いいたします。


発注日付   発注量
2004/12/1    1
2004/12/2    3
2004/12/3    0
      ↓以下のように0の場合は日付を空白にする。
2004/12/1    1
2004/12/3    3
           0

(但し、0は表示します)

Aベストアンサー

#1の方の方法でもいいですが、もしレポートがクエリーを元に作成されていれば、クエリーに
発注日:IIf([発注量]=0,Null,[発注日付])
というフィールドを設けて、発注日をレポートのフィールドに指定すればどうでしょうか

Q帳票フォームの全件のレポート出力

OS:XP
Access Version:2007

抽出されたレコードが帳票フォームで表示されているのですが、
その複数抽出のレコードすべてをレポート出力したいのですが。。。どうすばいいわからなくて
どなたかいい方法をおしえてください。
抽出条件コードはこれです。
Private Sub btnSearch_Click()
Dim strWhere As String
Dim strAndOr As String

strWhere = vbNullString

If Me.optAndOr.Value = cAnd Then
strAndOr = " AND "
Else
strAndOr = " OR "
End If

If Me.txtYear.Value <> vbNullString Then
strWhere = strWhere & strAndOr & " 年度 LIKE '*" & Me.txtYear.Value & "*'"
End If

If Me.txtName.Value <> vbNullString Then
strWhere = strWhere & strAndOr & " 営業担当 LIKE '*" & Me.txtName.Value & "*'"
End If

'WHERE句編集
strWhere = Replace(strWhere, strAndOr, "WHERE", , 1)

'レコードソース書き換えと再クエリ
Me.RecordSource = cBaseQuery & " " & strWhere
Me.Requery
End Sub

OS:XP
Access Version:2007

抽出されたレコードが帳票フォームで表示されているのですが、
その複数抽出のレコードすべてをレポート出力したいのですが。。。どうすばいいわからなくて
どなたかいい方法をおしえてください。
抽出条件コードはこれです。
Private Sub btnSearch_Click()
Dim strWhere As String
Dim strAndOr As String

strWhere = vbNullString

If Me.optAndOr.Value = cAnd Then
strAndOr = " AND "
Else
strAndOr = " OR "
End If

If Me.txtYear...続きを読む

Aベストアンサー

フォームヘッダーかフッターにコマンドボタン(btnPreview)を配置して、
コマンドボタンのクリック時のイベントプロシージャに

Private Sub btnPreview_Click()
Dim strFilter As String

strFilter = Me.RecordSource
strFilter = Mid(strFilter, InStr(strFilter, " WHERE ") + 7)
DoCmd.OpenReport "レポート名", acViewPreview, , stFilter
End Sub

でどうですか。


あと、抽出ボタンで RecordSource を書きかえてますが、
Filterプロパティを設定する方がシンプルになります。
コード例

Private Sub btnSearch_Click()
Dim strWhere As String
Dim strAndOr As String

strWhere = vbNullString

If Me.optAndOr.Value = cAnd Then
strAndOr = " AND "
Else
strAndOr = " OR "
End If

If Me.txtYear.Value <> vbNullString Then
strWhere = strWhere & strAndOr & " 年度 LIKE '*" & Me.txtYear.Value & "*'"
End If

If Me.txtName.Value <> vbNullString Then
strWhere = strWhere & strAndOr & " 営業担当 LIKE '*" & Me.txtName.Value & "*'"
End If

'WHERE句編集
strWhere = Replace(strWhere, strAndOr, "", , 1)

'レコードソース書き換えと再クエリ
Me.Filter = strWhere
Me.FilterOn = True
End Sub

Private Sub btnPreview_Click()

DoCmd.OpenReport "レポート名", acViewPreview, , Me.Filter

End Sub

フォームヘッダーかフッターにコマンドボタン(btnPreview)を配置して、
コマンドボタンのクリック時のイベントプロシージャに

Private Sub btnPreview_Click()
Dim strFilter As String

strFilter = Me.RecordSource
strFilter = Mid(strFilter, InStr(strFilter, " WHERE ") + 7)
DoCmd.OpenReport "レポート名", acViewPreview, , stFilter
End Sub

でどうですか。


あと、抽出ボタンで RecordSource を書きかえてますが、
Filterプロパティを設定する方がシンプルになります。
コード例

Private Sub btnSe...続きを読む

QAccessレポート出力時の範囲指定

Accessでレポートを出力する際に出力範囲を画面から入力したいと思ってます。
下記3項目をフォーム(frm出力範囲)から入力しようと考えてます。

      住所コード (テキスト形式) : [住所自]   ~ [住所至] 
      販売店コード(数値型) : [販売店自] ~ [販売店至] 
      担当者コード(数値型) : [担当者自] ~ [担当者至] 

レポートを開く際にWhere条件式に指定すればできるのかとも思いますが
(できるかどうかもわかりませんが)どうすればよいかわかりません。
どなたかお教えいただけませんか?

Aベストアンサー

提示された情報からは、No.2 の回答の

="住所コード:" & Forms![frm出力範囲]![住所自] & "~" & Forms![frm出力範囲]![住所至] & Chr(13) & Chr(10) & "販売店コード:" & Forms![frm出力範囲]![販売店自] & "~" & Forms![frm出力範囲]![販売店至] & Chr(13) & Chr(10) & "担当者コード:" & Forms![frm出力範囲]![担当者自] & "~" & Forms![frm出力範囲]![担当者至]

で問題ないはずです。
情報に間違いがあるか、式に記述ミスがあるとしか思えません。

オブジェクト名に間違いがないか、記述に間違いがなかい注意深く確認してください。全角/半角が違っていたり、空白が入っていたりなど、ちょっとでも違うとエラーになります。

あと、このレポートを開くときに、フォーム「frm出力範囲」は開いたままにしてますよね。閉じちゃったら参照できませんのでエラーになります。


人気Q&Aランキング

おすすめ情報