![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
一応過去質問を調べましたがうまくいかず、よろしくお願いします。
3種類のテーブルをもとに、それぞれについて3種類のクロス集計を行い、
その3つのクエリを一つのクエリにしました。この選択クエリを作る際は、
*をドラッグして全てのフィールドを表示させています。
そのクエリをレコードソースとして、
空のラベル、テキストボックスを必要数置いて以下のようにレポートを作成しましたが、うまくいきません。
どなたか、ご指導ください。
Private Sub Report_Open(Cancel As Integer)
Dim db As DAO.Database
Dim qd As DAO.QueryDef
Dim cnt As Integer
Dim fld As DAO.Field
Set db = CurrentDb()
Set qd = db.QueryDefs(Me.RecordSource)
For cnt = 1 To qd.Fields.Count - 1
Set fld = qd.Fields(cnt)
Me("Label" & cnt).Caption = fld.Name
Me("Field" & cnt).ControlSource = fld.Name
Next
End Sub
A 回答 (7件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
> また、なぜかはわかりませんが、データソースのクエリを変更したりすると「システムで予約されているエラー(-3007)です。
このエラーに対するメッセージはありません」となったりもします。Access 2000/2002 エラーメッセージ一覧
http://www.f3.dion.ne.jp/~element/msaccess/AcRes …
上記によると、
「ライブラリ データベース <データベース名> を開くことができません。」
というエラーらしいですね。
クエリに含まれるテーブルはリンクテーブルですか。
新規のMDBファイルで、テーブル、クエリ、レポートを一らか作り直したらどうなりますか。
No.6
- 回答日時:
> 知識不足で申し訳ありませんが、「どのコードで」というのは、
> どういうことでしょうか?
エラーがでたときに、エラーメッセージのダイアログの「デバッグ」ボタンをクリックするとエラーの発生したコードが選択表示されますので、その選択表示されているコードを教えてください。
この回答への補足
ありがとうございます。このメッセージの場合、「OK」と「ヘルプ」しかありません。
また、なぜかはわかりませんが、データソースのクエリを変更したりすると「システムで予約されているエラー(-3007)です。このエラーに対するメッセージはありません」となったりもします。このメッセージに対しても、なにかご存じであれば教えてください。
No.4
- 回答日時:
> ”データがありません”メッセージは出ません。
> レポートヘッダーには、クエリと同じレコード数が表示されます。
これも問題なしですか。
うーん、難しい。
簡単にサンプルを作成してテストしてみましたが問題なく動作します。
ひょっとするとファイルが壊れているのかも。
新規のデータベースファイルを作成して、一から作り直してみたらどうなりますか。
この回答への補足
hatena1989さん
いろいろ忙しく、この件について遠ざかっていました。
あらためて、クエリを作り直し、やってみたところうまく表示されました。
しかし、いろいろやっているうちに、レポートを表示させようとしたところ、
「" を有効なフィールド名、または式として認識できません」
というエラーが起こります。
申し訳ありませんが、またご教授願いますでしょうか?
hatena1989さん
いろいろ親身にありがとうございます。
自分なりに、また試してみます。
また、何かありましたらよろしくお願いします。
No.3
- 回答日時:
> クエリを直接開いた場合は、データはただしく表示されます。
> メッセージボックスも表示されます。
うーん、ならば、
レポートの「からデータ時」のイベントプロシージャを下記のように設定して、
Private Sub Report_NoData(Cancel As Integer)
MsgBox "データか有りません"
End Sub
レポートヘッダーにテキストボックスを配置して、コントロールソースを
=Count(*)
と設定して
レポートを開くとメッセージは表示されますか。
また、レポートヘッダーには、クエリとレコード数と同じ値が表示されますか。
この回答への補足
何度もありがとうございます。
”データがありません”メッセージは出ません。
レポートヘッダーには、クエリと同じレコード数が表示されます。
すみません、よろしくお願いします。
No.1
- 回答日時:
どのようにうまくいかないのでしょうか。
希望の結果と異なる出力になるのでしょうか。
その場合は、ソースのデータはどのようなもので、希望の出力結果はどのようなもので、実際の出力結果はどのようなものだったのか説明ください。
あるいは、エラーがでるのでしょうか。
その場合は、エラーメッセージをご提示ください。
この回答への補足
ありがとうございます。
出力結果としては、表題とデータともに何も表示されません。
ソースデータは、3つのクロス集計クエリ(成績点数、成績評定、欠課時数をそれぞれ科目について集計したもの)
をまとめて1つのクエリにしたものです。
このクエリを表示させると、もとのクロス集計のデータがすべて表示され、生徒ID、クラス、氏名、科目1の点数、科目2の点数、・・・、生徒ID、クラス、氏名、科目1の評定、科目2の評定、・・・、生徒ID、クラス、氏名、科目1の欠課、科目2の欠課、・・・となります。
現段階では、掲載のコードで、点数だけでも表示させてみようかとやってみたところです。
もしかして、もとのソースデータの形式がよくないのだとすれば、根本的にやり方が間違っているのでしょうか?
最終的には、クラスごとに、各生徒の点数、評定、欠課時数を各科目ごとに表示させたレポートを1枚にまとめたモノを
出力したいと思っています。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Visual Basic(VBA) VBA Bookの表示、非表示 1 2022/09/16 20:44
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) Dateserialで データ抽出 2 2022/06/26 21:07
- Visual Basic(VBA) 配列の勉強をしています。使用する変数の意味、検索条件の書き方が難しいです。 2 2022/09/15 14:06
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Excel(エクセル) マクロ(データ取得と転記)について教えてください 3 2022/12/24 12:18
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
EXCELの外部データ取得ができない
-
Access2000で抽出したデータに...
-
AccessでSQL結果を直接csvに書...
-
access追加クエリ実行時の重複...
-
アクセスで空白がグループ化さ...
-
Accessでユニオンクエリを作成...
-
【Access2003 VBA】クエリをエ...
-
Access 複数のクエリの結果を...
-
ACCESSで追加クエリを連続実行...
-
VBAによるwebクエリ方法
-
Accessのエラーについてです。
-
アクセスのレベルアップ方法
-
Accessで進行状況インジケータ...
-
エクセルからアクセスの更新ク...
-
差込印刷での全角表示について...
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
ACCESSのクエリで抽出条件「ま...
-
ACCESS クエリの抽出条件に他の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
EXCELの外部データ取得ができない
-
yes/no型のチェックができない...
-
Access 複数のクエリの結果を...
-
access追加クエリ実行時の重複...
-
AccessでSQL結果を直接csvに書...
-
ACCESSのフィールドの表示順が...
-
アクセスで空白がグループ化さ...
-
Accessで複数(200件程)の置換
-
Accessのエラーについてです。
-
ログイン画面後のページの表取...
-
ACCESSでメッセージにクエリ結...
-
Access2000で抽出したデータに...
-
Access 0で除算(並べ替...
-
Accessでユニオンクエリを作成...
-
Accessで進行状況インジケータ...
-
アクセスのフォーム単票形式の...
-
ACCESS テーブル内の列...
-
Access複数のクエリをExcelの1...
-
パススルークエリからデータシ...
おすすめ情報