Accessについて質問です。
もともとあるデータを使っていて、0のデータが空白となってしまいました。
そこで、クエリに|登録数: Nz([登録件数],0)|というフィールドを作り、登録件数フィールドが空白の時には0が表示されるようになっています。
そのクエリを元にレポートを作成して、登録数の合計を表示させようとしたらエラーになってしまいました。
どうしたら合計を表示させる事ができますでしょうか?
NZ関数を使っているから合計がエラーになってしまうのでしょうか?
NZ関数が原因の場合、その他の関数を使って表示することは可能なのでしょうか?
No.7ベストアンサー
- 回答日時:
再掲(質問に答えていないですよ)
>どこに変えたのですか?
>エラーの内容は?
もうひとつ、Sum関数はNullを除いて集計してくれます
合計でいいのなら
Sum(登録件数)
でOKです
詳細のほうもNullのときに0を表示させたいだけなら
Nz関数など使わなくても書式で対応できます
あるいはもっと大元のテーブルで規定値を0にしておいてもいいですね
再掲(質問に答えていないですよ)
>どこに変えたのですか?
>エラーの内容は?
プレビュー表示にした時に「エラー#」と表示されたのみです。
素人なのでこれくらいしかわからずすみません。
前回なぜ表示されなかったのか解らないままですが、再度レポートを新規で作成したところ『Sum(登録件数)』で上手く表示されました。
ありがとうございました。
No.6
- 回答日時:
>場所を変えてみましたがエラーとなってしまいます。
どこに変えたのですか?
エラーの内容は?
>他になにかエラーの原因となるものがわかりましたら
他によくやるミスといえば
ソースのフィールド以外を集計式に使用するというやつなんですが
>クエリに|登録数: Nz([登録件数],0)|というフィールドを作り
とあったので登録数はソースのクエリのフィールドだと判断したのですが
ひょっとしてレポート上のテキストボックスだったりして
この回答への補足
プレビュー表示にした時にエラー#となります。
一応クエリにフィールドはあります。
その「登録数: Nz([登録件数],0)」フィールドの合計をレポートに表示させたいと思います。
よろしくお願いいたします。
No.5
- 回答日時:
<データテーブル>
ID____登録数
1_____________1
2_____________2
3_____________3
この場合、登録数を求めるのは僅か1行です。
[イミディエイト]
? DBSum("登録数", "データテーブル")
6
手順1: 下記の DBSum 関数を標準モジュールに登録する。
手順2: [イミディエイト]ウィンドウで登録数合計を表示してみる。
手順3: レポートに表示用のテキストボックスを非連結で配置する。
手順4: 表示用テキストボックスに =DBSum("xxx", "xxxx", "xxxxx") と関数を仕組む。
DBSum(列名, 表名, 抽出条件(Where節))
色々と面倒であれば、こういうやり方でも目的は達成できます。
Public Function DBSum(ByVal strField As String, _
ByVal strTable As String, _
Optional strWhere As String = "") As Variant
On Error GoTo Err_DBSum
Dim N
Dim strQuerySQL As String
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
strQuerySQL = "SELECT SUM(" & strField & ") FROM " & strTable
If Len(strWhere) > 0 Then
strQuerySQL = strQuerySQL & " WHERE " & strWhere
End If
With rst
.Open strQuerySQL, _
CurrentProject.Connection, _
adOpenStatic, _
adLockReadOnly
If Not .BOF Then
.MoveFirst
N = Nz(.Fields(0), 0)
End If
End With
Exit_DBSum:
On Error Resume Next
rst.Close
Set rst = Nothing
DBSum = N
Exit Function
Err_DBSum:
MsgBox "SELECT 文の実行時にエラーが発生しました。(DBSum)" & Chr$(13) & Chr$(13) & _
"・Err.Description=" & Err.Description & Chr$(13) & _
"・SQL Text=" & strQuerySQL, _
vbExclamation, " 関数エラーメッセージ"
Resume Exit_DBSum
End Function
多分、この方式と同じことを内容的にしていないのではないですか?
この回答への補足
ごめんなさい。
初めに記入しなかったこちらのミスですが、Access超初心者です。
せっかくアドバイスを頂いたのですが、よくわかりません。
すみません。
もしよろしければもう少し簡単な方法ではできないでしょうか。
それともやろうとしている事自体が難しいレベルのものなのでしょうか。
No.4
- 回答日時:
#3です
ごめんなさい、いきなりは合計しませんね;;
「集計実行」は、詳細にコントロール配置して、累積していかないと駄目みたいです
どこに配置して、どう言うコントロールソースを設定しているか?
補足お願いできますか?
コントロールとコントロールソースが、同じ名前を使って、目的と違う集計した記憶は、過去にあるのですが・・・エラーにはならなかったと思いましたが・・・
No.3
- 回答日時:
どうして、エラーになってるか?判りかねるのですが・・・
関数なしで、
「テキストボックス」-「プロパティ」-「データ」-「集計実行」
で、設定し、コントロールソースに集計するデータを入れれば合計した記憶があるのですが・・・
「詳細」で使うと累計、「グループフッター」で使うとグループの累計、「レポートフッター」でレポートの累計
という形で・・・
詳細で使うときは行数のカウンターとしても使う方法があったと思いましたが・・・
お返事ありがとうございます。
集計機能とても便利ですね。
初めて知りました。
今回は別としてまた機会がありましたら利用させていただきます。
No.1
- 回答日時:
> そこで、クエリに|登録数: Nz([登録件数],0)|というフィールドを作り、登録件数フィールドが空白の時には0が表示されるようになっています。
登録数: CLng(Nz([登録件数],0))
としてみたらいかがですか?
この回答への補足
ごめんなさい。
こちらの説明不足で申し訳ないのですが、今回欲しい物は最終的な登録件数の合計です。
たとえば、登録件数が1、2、3の3件データがあれば、その合計の「6」というものを計算してレポートに表示したいです。
再度、質問になってしまい申し訳ないです。
よろしくお願いいたします。
ありがとうございます。
お返事はやくて助かりました。
>登録数: CLng(Nz([登録件数],0))
さっそくやってみました。
式自体はうまくできあがりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) ピボットテーブルへの集計フィールド挿入 1 2023/02/26 11:33
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- Excel(エクセル) Excel(エクセル)でフィルター抽出後、非表示の行を計算しないで、合計を算出する方法 【内容】 添 4 2023/01/30 17:17
- Excel(エクセル) Excel 特定セルの数値を参照したセルの0表示が空白にならないのはどうしてか? 3 2022/04/28 22:23
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Excel(エクセル) エクセルのSUM関数について 4 2023/04/18 10:37
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Access(アクセス) Accessのリンクテーブルのパスを相対パスにする方法について教えて頂きたいです 1 2023/02/08 13:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【アクセス】空白があると集計...
-
Excelで売上げデータの中の任意...
-
Access 条件に合うレコード数を...
-
ACCESS2000で複数のクエリをフ...
-
Access2003 クロス集計で集計値...
-
Accessのクロス集計から構成比...
-
Accessの更新クエリについて質...
-
ピボットでの時間集計
-
アクセスの集計クエリの件
-
【アクセス】クエリで、行と列...
-
AccessでクロスABC分析表を作り...
-
MSアクセスにおけるSUMIF関数や...
-
クロス集計の日付表示について
-
差込印刷での全角表示について...
-
日付型のフィールドに空白を入...
-
2つのテーブルに共通するレコ...
-
アクセスのエラー「クエリには...
-
SQL文で パラメータが少なすぎ...
-
ACCESS 「パラメータの入力」...
-
エクセルデータをワードで差し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【アクセス】クエリで、行と列...
-
ピボットでの時間集計
-
エクセルのピボットで、集計値...
-
統計学 ファイ係数
-
Accessのクロス集計から構成比...
-
Access 条件に合うレコード数を...
-
ACCESS2000で複数のクエリをフ...
-
Access クロス集計 レポート...
-
Excelで売上げデータの中の任意...
-
Access2003 クロス集計クエリ...
-
年齢層で集計したい
-
access2010 クロス集計後の計算...
-
Access 構成比 クエリ集計
-
Accessで、複数月にわたる売上...
-
アクセスの集計クエリの件
-
Access 2003、2007 なぜクロス...
-
accessクエリでのクロス集計に...
-
Access2007の集計クエリで演算...
-
クロス集計の日付表示について
-
Access2003 クロス集計で集計値...
おすすめ情報