
日付/品番/出庫数のフィールドで構成された「明細テーブル」があります。
「日付」フィールドからなるメインフォーム、「品番/出庫数」からなるサブフォームをつくり、メインフォームのサブフォームコントロールのレコードソースを「サブフォーム」に指定しました。
日付を入れるとその日の出庫明細がサブフォーム上に表示されるのですが、このレコード件数をメインフォーム上のコントロールで表示したいのです。
サブフォームのヘッダにテキストボックスコントロールを作り「=Count([品番])」としてやれば、「サブフォーム上での」件数表示は出来るのですが、同じ式をメインフォーム上のコントロールに記述すると、「全レコードの件数」が表示されてしまいます(当たり前ですが)
そこで、「=Count([埋め込み].Form![品番])」とやってみました。ここで「埋め込み」とはメインフォーム上のサブフォームコントロールの名前です。
結果は「#Error」となってしまいます。Count関数だけでなくSum関数などでも同様の結果となります。
はっきりいって「サブフォームのヘッダに表示させればいいじゃないか」というところなのですが、「式ビルダ」ではサブフォームのコントロール名も容易に参照できるようになっており、なにか方法があるのではないか、初歩的なところでつまずいていないか、と思案している次第です。
なにかアドバイスいただけたら幸いです。
No.2ベストアンサー
- 回答日時:
サブフォームのフッタに『件数』というテキストボックスを作り
ソースに =Count(*) とします。
普通のフォームとして作り、[規定のビュー]をデータシートにすればデータシートのサブフォームになりますから、フッターを追加しても問題はなく
メインフォームにテキストボックスを作り
=NZ([サブフォーム名].[Form]![件数])
という具合にサブフォームの「件数」を参照すれば良いです。
参考になれば幸いです
これはすでに試していたのですが……
「コードビルダ」で作成した式では([サブフォーム名].フォーム![件数]) と
「Form」が「フォーム」(実際は半角カナ)になっていました(なぜ・・・?)
k_ebaさんの式で上手くいきました。ありがとうございました。
No.1
- 回答日時:
AccessVBAでTblの件数を取得すると↓
1.Mainフォームにテキストボックスを1つ作って下さい。名前は「txt1」
2.デザインフォームのプロパティのイベントで「開く時」の右にある
「...」3点リーダーをクリックし、コードビルダを選択します。
3.コードビルダが開いたら ツール→参照設定→Microsoft DAO 3.6
Object Libraryにチェックを付けて下さい。
下記の点線の部分を↓にカット&ペースト
Private Sub Form_Open(Cancel As Integer)
●●●←ここにカット&ペースト
End Sub
'---------------------------↓
Dim db1 As Database '変数宣言
Dim rs1 As Recordset
Dim aCnt As Integer
'総件数の取得
aCnt = 0
Set db1 = CurrentDb
Set rs1 = db1.OpenRecordset("T_全件")
If rs1.EOF Then '1件も存在しない場合はエラー
Msgbox("T_全件テーブルに該当データは存在しません。")
Exit Sub
End If
rs1.MoveLast
aCnt = rs1.RecordCount
Me.txt1.Value = aCnt 'テーブルの合計値をTxt1に表示する。
rs1.Close
db1.Close
'----------------------------↑
説明が必要であれば追記してください。(暇なときに返事します)
この回答への補足
詳細な回答いただきありがとうございました。
>Set rs1 = db1.OpenRecordset("T_全件")
この"T_全件"のところにレコードソースとなるテーブル名を入れるのだと思いますが、実行したところ、テーブルのすべてのレコード数が表示されてしまいました。
サブフォームに表示されているレコード件数だけを取得したかったのですが……。
しかしこのコードを使えばレコードソース以外のテーブルからも値を取得することが出来ますね。今後の参考になりそうです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Access サブフォームでの選択行の取得
その他(データベース)
-
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
アクセスでサブフォームのレコードを取得したい。
Access(アクセス)
-
-
4
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
5
Accessのサブフォームから値を参照する方法について
その他(データベース)
-
6
フィルタ後のフォームの件数の取得の仕方
Access(アクセス)
-
7
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
8
Accessでフォームから別フォームのテキストボックスの値を設定する
Visual Basic(VBA)
-
9
Access コンボボックスの値をクリアしたい。
PowerPoint(パワーポイント)
-
10
access テキストボックスの値取得
Access(アクセス)
-
11
Accessのフォームにて、詳細行のボタンを行の内容により、表示/非表
その他(Microsoft Office)
-
12
ACCESS フォームからサブフォームのデータを更新・入力したい
Access(アクセス)
-
13
(ACCESS)条件に応じて、テキストボックスを表示・非表示設定
その他(データベース)
-
14
サブフォームのあるフォームからレポートを作成し、印刷しようとすると、サブフォームにあるデータ量分印刷
Access(アクセス)
-
15
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
16
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
17
ACCESSで条件によってサブフォームを非表示に
その他(ソフトウェア)
-
18
メインフォームからサブフォームの背景色を変えたい。
その他(プログラミング・Web制作)
-
19
サブフォームのイベント取得
Visual Basic(VBA)
-
20
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS──メインフォームでサブ...
-
Access フォームで条件抽出し...
-
サブフォームのあるフォームか...
-
親フォームからサブフォームの...
-
サブフォームに対してGoToRecor...
-
ACCESSにて
-
【Access】サブフォームのソー...
-
Access Dsum関数
-
Access2007 ラベルの削除がで...
-
Access レポート印刷するときに...
-
MA ACCESSデータベースに詳しい...
-
レコードを保存するコード ア...
-
ACCESSのレポートで、指定した...
-
accessのフォームをレポートに...
-
エクセルをACCESSのレポ...
-
Access2007サブレポートの絞り...
-
ACCESSでコントロールソースの変更
-
iphoneのフルスクリーンの解除方法
-
passwordが入れられません・・・・
-
新規レコード行を非表示にしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サブフォームに対してGoToRecor...
-
クエリで出来た表にチェックボ...
-
ACCESS──メインフォームでサブ...
-
親フォームからサブフォームの...
-
ACCESSにて
-
サブフォームを非表示させる方...
-
Accessでセレクタをダブルクリ...
-
サブフォームのあるフォームか...
-
Accessで埋め込んだサブフォー...
-
ACCESS VBA メインフォーム及び...
-
Access2007 ラベルの削除がで...
-
親・子リンクフィールドの設定...
-
access フォーム上で複数行の...
-
ACCESSで条件によってサブフォ...
-
access vba サブフォームに条件...
-
Access メインフォーム サブフ...
-
Accessのサブフォームつきフォ...
-
Access フォームで条件抽出し...
-
Access サブフォームのレコード...
-
ACCESSサブフォームにデータ反...
おすすめ情報